多线程
Dm同学
博观而约取
展开
-
多线程-CountDownLatch
CountDownLatch: 初始化线程池 run 执行任务,finally里进行cdl.countDown() future.get时进行超时处理,超时后将对应任务取消 并计数减1 @PostConstruct public void init() { //初始化固定线程池 ExecutorService es = new ThreadPoolExe...原创 2020-04-21 22:53:10 · 216 阅读 · 1 评论 -
【多线程】线程互斥之synchronized 详解
定义: 线程互斥是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。 我们都知道保证线程完整执行。则需要对其加锁。使用synchronized关键字。在这里锁的对象理论上可以为任何对象。 代码块同步: public void output(String name){ int len=name.原创 2016-08-18 22:02:07 · 594 阅读 · 1 评论 -
【多线程】线程间的通信
举一个例子来看一下线程间的通信。示例:子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程又循环100次。如此循环50次,请写出程序。思路:先找两个方法,分别执行子线程循环10次,主线程循环100次。并这两个同步。由外层控制,循环50次,并通过线程间通信得到,当子线程执行结束后,由主线程执行。并且主线程执行结束后,子线程也能开始执行。实现:先写了一个类,用于子主线程原创 2016-08-18 22:03:21 · 784 阅读 · 4 评论