Java 并发
2016-03-13 22:30
246 查看
常用方法
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框架可以非常方便的创建一个线程池
线程池实现
任务队列
添加线程
线程获取任务
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树