[Java] java 同步方法的使用 防止多线程同时执行方法 →→→→→进入此内容的聊天室

来自 , 2019-10-11, 写在 Java, 查看 103 次.
URL http://www.code666.cn/view/298f95e1
  1. /**
  2.  * java 同步方法的使用,防止多线程同时执行方法。
  3.  *
  4.  * synchronized方法加锁,不管哪一个线程运行到这个方法时,都要检查有没有其它线程正在用这个方法,
  5.  * 有的话要等正在使用synchronized方法的线程运行完这个方法后再运行此线程,没有的话,直接运行。
  6.  */
  7. class Callme {
  8.         synchronized void call(String msg) {
  9.                 System.out.print("[" + msg);
  10.  
  11.                 try {
  12.                         Thread.sleep(1000);
  13.                 } catch (InterruptedException e) {
  14.                         // TODO Auto-generated catch block
  15.                         e.printStackTrace();
  16.                 }
  17.                 System.out.println("]");
  18.         }
  19. }
  20.  
  21. class caller implements Runnable {
  22.         String msg;
  23.         Callme target;
  24.  
  25.         public caller(Callme t, String s) {
  26.                 target = t;
  27.                 msg = s;
  28.         }
  29.  
  30.         public void run() {
  31.                 target.call(msg);
  32.         }
  33. }
  34.  
  35. class Synch1 {
  36.         public static void main(String args[]) {
  37.                 Callme target = new Callme();
  38.                 new caller(target, "Hello").run();
  39.                 new caller(target, "Synchronized").run();
  40.                 new caller(target, "World").run();
  41.         }
  42. }

回复 "java 同步方法的使用 防止多线程同时执行方法"

这儿你可以回复上面这条便签

captcha