通过线程按照顺序循环输出ABC n次
根据题目的意思应该是每个线程输出一个字符,按照顺序输出n次。
对于这个题目应该是3个线程。
分析:线程的执行方式是乱序的,需要通过协作才能实现3个线程顺序输出字符。
在jdk1.4中线程的协作是通过wait/notify/notifyAll实现的,使用这3个方法要求获取同步对象的monitor,否则即使编译成功也会在运行的时候出现 IllegalMonitorStateException的异常。
在jdk1.5中线程的协作是通过Lock/Condition及Samephore/CyclicBarriar/CountLatchDown实现的
JDK1.4的实现
JDK1.5的实现