java线程安全— synchronized和volatile package threadsafe; public class TranditionalThreadSynchronized { public static void main(String[] args) { final Outputter output = new Outputter(); new Thread() { public void run() { output.output("zhangsanzhangsanzha
import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; public class RunnableTest2 { // private StringBuilder sb = new StringBuilder(); private StringBuffer sb = new StringBuffer(); inc i1 = new inc(); dec d1 = new de
synchronized使用之基本原则: synchronized可以锁方法,也可以锁代码片段,但要实现互斥的基本就是在想要互斥的代码上加”同一把锁“,也就是同一个对象,也就是用==判断等于true的对象 下面看一个例子: Work.java 真正做事情的类 package com.yzl; public class Work { /** * 未同步的 * @param name */ public void noSynwrite(String name){ for(int i=0; i<