2、传统的线程互斥synchronized
synchronized使用之基本原则: synchronized可以锁方法,也可以锁代码片段,但要实现互斥的基本就是在想要互斥的代码上加”同一把锁“,也就是同一个对象,也就是用==判断等于true的对象 下面看一个例子: Work.java 真正做事情的类 1 package com.yzl; 2 3 public class Work { 4 /** 5 * 未同步的 6 * @param name 7 */ 8 public void noSynwrite(String name){ 9 for(int i=0; i<name.length(); i++){ 10 System.out.print(name.charAt(i)); 11 if(i == (name.length()-1)){ 12 System.out.print("\n"); 13 } 14 } 15 } 16 17 /** 18 * 使用同步块,并使用Work的实例对象做为锁 19 * 此方法的同步需保证是调用该方法的work对象是同一个 20 * @param name 21 */ 22 public void write1(String name){ 23 synchronized (this) { 24 for(int i=0; i<name.length(); i++){ 25 System