线程的安全问题一直是我们在开发过程中重要关注的地方,出现线程安全问题的必须满足两个条件:存在着两个或者两个以上的线程:多个线程共享着共同的一个资源, 而且操作资源的代码有多句.接下来我们来根据JDK自带的方法来解决线程带来的问题. 一.同步代码块synchronized 我们来看一个实例,创建两个线程,每个线程就对计算器i进行减1操作,当i等于0时停止线程 public class Main implements Runnable { int i = 10; @Override public v…
package 第三章.线程阻塞工具LockSupport; import java.util.concurrent.locks.LockSupport; /** * Created by zzq on 2018/2/2. */public class LockSupportDemo { public static Object u = new Object(); static ChangeObjectThread t1 = new ChangeObjectThread("t1");…
等待多线程完成的CountDownLatch countDownLatch允许一个或多个线程等待其他线程完成操作. public class CountDownLatchTest { static CountDownLatch countDownLatch = new CountDownLatch(2); public static void main(String[] args) throws InterruptedException{ new Thread(new Runnable() {…