线程同步(Synchronization):当两个或两个以上的线程需要共享资源,它们需要某种方法来确定资源在某一刻仅被一个线程占用。要达到这种目的的过程叫做同步。
线程同步在java中的运用是利用(synchronized)来运用的。
Java中线程同步运用有两种方式:
一:当同步资源是方法体时,在方法体前面加上synchronized
二:当同步资源是语句时。在块前面加上synchronized
例如输出 [hello ] [java ] [android ] 这三个字符时;
第一步 创建线程
public class Call imimplements Runnable{
String name;
Call tar;
Thread t;
public Call( Call da,String s){
tar =da;
name=s;
t = new Thread(this );
t.start();
}
public void run(){
tar.call(name);
}
}
第二
public class Callme{
synchronized void callme(String cha){
System.out.println("["+cha);
try {
Thread.sleep(1000);
} catch(InterruptedException e) {
System.out.println();
}
System.out.println("]");
}
}
第三
public class CallTest{
public static void main(String [] args){
Call call = new Call();
Callme c1=new Callme(call,"hello");
Callme c2=new Callme(call," java ");
Callme c3=new Callme(call,"android ");
}
}