多线程
沙漠662
自学javaEE
展开
-
volatile使用
package com.bjsxt.base.sync007;public class RunThread extends Thread{ private volatile boolean isRunning = true; private void setRunning(boolean isRunning){ this.isRunning = isRunning; } pu原创 2017-04-25 16:19:44 · 272 阅读 · 0 评论 -
Count++不是线程安全的 不是原子性的
package com.bjsxt.base.sync007;import java.util.concurrent.atomic.AtomicInteger;import com.sun.org.apache.xalan.internal.xsltc.compiler.sym;/** * volatile关键字不具备synchronized关键字的原子性(同步) * @autho原创 2017-04-25 16:49:26 · 1694 阅读 · 0 评论 -
线程之间通信
使用wait和notify方法实现线程间通信 (注意:这两个方法都是Object类中的方法 也就是说 java为所有的对象都提供了这两个方法)1.wait和notify必须配合synchronized关键字使用2.wait方法释放锁 notify方法不释放锁原创 2017-04-27 16:50:23 · 245 阅读 · 0 评论 -
CountDownLatch
package com.bjsxt.base.conn008;import java.util.ArrayList;import java.util.List;import java.util.Queue;import java.util.concurrent.CountDownLatch;import java.util.concurrent.LinkedBlockingDeque;原创 2017-04-27 17:17:49 · 279 阅读 · 0 评论