java并发编程--一道经典多线程题2种解法.docxVIP

  • 17
  • 0
  • 约1.19万字
  • 约 7页
  • 2017-06-17 发布于湖北
  • 举报

java并发编程--一道经典多线程题2种解法.docx

问题的描述启动3个线程打印递增的数字, 线程1先打印1,2,3,4,5, 然后是线程2打印6,7,8,9,10, 然后是线程3打印11,12,13,14,15. 接着再由线程1打印16,17,18,19,20....以此类推, 直到打印到75. 程序的输出结果应该为:?线程1: 1线程1: 2线程1: 3线程1: 4线程1: 5?线程2: 6线程2: 7线程2: 8线程2: 9线程2: 10...?线程3: 71线程3: 72线程3: 73线程3: 74线程3: 75??解法一: 采用原始的synchronized, wait(), notify(), notifyAll()等方式控制线程.?Java代码 ?public?class?NumberPrintDemo?{ ??????//?n为即将打印的数字 ??????private?static?int?n?=?1; ??????//?state=1表示将由线程1打印数字,?state=2表示将由线程2打印数字,?state=3表示将由线程3打印数字 ??????private?static?int?state?=?1; ????????public?static?void?main(String[]?args)?{ ??????????final?NumberPrintDemo?pn?=?new?NumberPrintDemo(

文档评论(0)

1亿VIP精品文档

相关文档