线程同步

来源:互联网 发布:网络彩票恢复最新消息 编辑:程序博客网 时间:2024/05/19 08:42

线程同步(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");

}

}

0 0