要求如下:子线程先循环10次,然后主线程循环100次,然后子线程循环10次,接着主线程循环100次......如此往复50次。
一、
分析:程序中一共有两个线程:子线程和主线程
子线程先循环10次,然后一共做50次这样的操作
主线程先循环100次,也是一共做50次这样的操作
子线程:
主线程;
在子线程循环10次的操作中,主线程被打断。在主线程执行过程中,子线程也同样被打断。
所以两个线程是互斥的:
使用进程的唤醒机制,可以保证在线程之间是互斥的。
以下是另外一种方法:
在线程创建时,将线程睡眠。并且要保证子线程睡眠时间少于主线程
比如:在主线程中Thread.sleep(100l);
子线程中Thread.sleep(90l);
目前发现结果是一样的,同样可以实现线程之间的互斥