美文网首页
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