java作为一门功能强大内容丰富的编程语言,在我们的日常生活当中运用越来越广泛,学习的人也越来越多。今天就来为大家介绍在java中并发部分API包含哪些内容以及通过实际的代码来为大家展示。
一、java.lang.Runnable
void run():必须覆盖这个方法
二、java.lang.Thread
1.Thread(),Thread(Runnable target):构造器
2.void start():启动线程
3.void run():如果没有重写,调用关联Runnable的run方法
4.void interupt():中断线程(中止阻塞状态,对运行线程无作用)
5.void setPriority(int newPriority):设置优先级(1-10,默认5)
6.static void yield(),static void sleep(long millis):使当前线程处于让步状态(让步于同优先级或高优先级线程)
7.休眠,void setDaemon():设置为守护线程
8.Thread.State getState():获得线程当前状态
三、锁对象,代码如下所示:
ReentrantLock myLock = new ReentrantLock(); mylock.lock(); try { critical section } finally { mylock.unlock(); }
四、条件对象,代码如下所示:
private ReetranLock mylock = new ReetranLock(); private Condition sufficientFunds = mylock.newCondition() public void transfer(int from, int amount) { mylock.lock(); try { while (account[from] < amount) { sufficientFunds.await(); } ... sufficientFunds.singalAll(); } finally { mylock.unlock(); } }
五、synchronized关键字(内置锁)
1.使用synchronized如何设置条件变量
格式1:synchronized 方法,格式2:synchronized(obj){}
2.void notifyAll():解除在对象上调用wait方法的线程的阻塞状态
3.void wait():导致线程进入等待状态
六、volatile域
1.volatile只提供可见性(在线程工作内存中被修改后立刻写入到主存中),不提供原子性。
2.使用final变量可以保证可见性:构造函数完成时即不变,未完成构造期间对其他线程不可见。
七、java.lang.ThreadLocal
作用:将内存共享变量变为线程拷贝变量
八、Executor类执行器,图片如下所示:
1. 调用Executors类(工厂类)中静态工厂方法newCacherThreadPool
2.调用submit提交Runnable或Callable对象
3.当不再提交任何任务时,调用shutdown
以上就是关于在java中并发部分API包含哪些内容的概述以及实际的代码展示。想要了解更多java基础以及常见问题,敬请关注奇Q工具网。
推荐阅读: