常用方法
Thread.yield()
提示让别的线程使用CPU
.join()
在目标线程结束后,再继续当前线程
.interrupt()
只会设置该线程的中断状态位,即设置为true,通过
Thread.currentThread().isInterrupted(),
thread.interrupted()(该方法调用后会将中断标示位清除,即重新设置为false),
catch(InterruptExcetion )会将中断标示位清除
进一步处理,或中断线程
Thread.sleep(int n)
TimeUnit.MILLISECONDS.sleep(n)
线程进入阻塞,n毫秒后就绪,不会释放 锁
synchronized
同步方法
同步块
Lock.lock()
实现同步
线程间的协作
wait() , notify() ,notifyAll()
Condition.await() .signal() .signalAll()
ThreadLocal
volatile关键字
中断线程方法
interrupt
exec.shutDownNow() -> interrupt
exec.submit(r) ->Future<>.cancel() ->interrupt
Executor 框架
Executor框架同java.util.concurrent.Executor 接口在Java 5中被引入。Executor框架是一个根据一组执行策略调用,调度,执行和控制的异步任务的框架。
无限制的创建线程会引起应用程序内存溢出。所以创建一个线程池是个更好的的解决方案,因为可以限制线程的数量并且可以回收再利用这些线程。利用Executors框架可以非常方便的创建一个线程池
线程池实现
任务队列
添加线程
线程获取任务
1093

被折叠的 条评论
为什么被折叠?



