美文网首页
ThreadTestSyncObj

ThreadTestSyncObj

作者: tiancijiaren | 来源:发表于2017-04-11 21:27 被阅读0次

    package com.smart.thread;

    /**

    • Created by jinxiaoyu on 17/4/11.
      */
      public class ThreadTestSyncObj {
      private Object lock1 = new Object();
      private Object lock2 = new Object();

      public static void main(String[] args) {
      final ThreadTestSyncObj t = new ThreadTestSyncObj();
      for (int i = 0; i < 5; i++) {
      new Thread() {
      @Override
      public void run() {
      super.run();
      t.test1();
      }
      }.start();
      new Thread() {
      @Override
      public void run() {
      super.run();
      t.test2();
      }
      }.start();
      }
      }

      public synchronized void test1() {
      System.out.print("test1 start\n");
      try {
      Thread.sleep(500);
      } catch (InterruptedException e) {
      e.printStackTrace();
      }
      System.out.print("test1 end\n");
      }

      public void test2() {
      synchronized(lock1) {
      System.out.print("test2 start\n");
      try {
      Thread.sleep(500);
      } catch (InterruptedException e) {
      e.printStackTrace();
      }
      System.out.print("test2 end\n");
      }
      }
      }

    test1 start
    test2 start
    test1 end
    test2 end
    test1 start
    test2 start
    test1 end
    test2 end
    test1 start
    test2 start
    test1 end
    test1 start
    test2 end
    test2 start
    test1 end
    test1 start
    test2 end
    test2 start
    test1 end
    test2 end

    相关文章

      网友评论

          本文标题:ThreadTestSyncObj

          本文链接:https://www.haomeiwen.com/subject/ejzuattx.html