wait和notify

Q1 如何让两个线程按照指定方式有序交叉运行
假设有两个线程,一个是线程 A,另一个是线程 B,两个线程分别依次打印 1-3 三个数字即可

Q2 编写程序实现,子线程循环10次,接着主线程循环20次,接着再子线程循环10次,主线程循环20次,如此反复,循环50次.

synchronized

Q3 设计四个线程,其中两个线程每次对变量i加1,另外两个线程每次对i减1.

生产者-消费者

#
现有的程序代码模拟产生了16个日志对象,并且需要运行16秒才能打印完这些日志,请在程序中增加4个线程去调用parseLog()方法来分头打印这16个日志对象,程序只需要运行4秒即可打印完这些日志对象。

编写死锁

join

CountDownLatch

CyclicBarrier

http://www.importnew.com/12773.html
http://ifeve.com/15-java-faq/
http://www.cnblogs.com/fingerboy/p/5352880.html
http://wingjay.com/2017/04/09/Java%E9%87%8C%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%BA%BF%E7%A8%8B%E9%97%B4%E9%80%9A%E4%BF%A1%EF%BC%9F/