Java 并发
来源:互联网 发布:json decode null 编辑:程序博客网 时间:2024/05/16 05:44
常用方法
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框架可以非常方便的创建一个线程池
线程池实现
任务队列
添加线程
线程获取任务
0 0
- java并发--并发集合
- Java 并发:并发背景
- Java 并发:并发背景
- java 并发
- Java并发
- Java并发
- Java并发
- java 并发
- Java 并发
- Java 并发
- Java并发
- java 并发
- Java 并发
- java并发
- Java 并发
- java并发
- [Java]并发
- Java 并发
- 引用路径 ../ ./ 说明
- 1030. Travel Plan (30)
- Decode Ways
- CALayer下载进度条
- C++对象模型之详述C++对象的内存布局
- Java 并发
- HTML5中div、article、section的区别及使用介绍
- JAVA SE——反射
- Android基础知识
- Ubuntu 15.10安装Swift
- Android新浪微博开发(一)授权认证
- MZTimerLabel 用作秒表或者倒计时
- Windows10中安装mysql5.7.11 社区版64位
- Unity3D 5 官方教程:标准着色器之材质参数(一)