java吧 关注:1,257,395贴子:12,749,364
  • 24回复贴,共1

请教一下各位一个有关多线程的问题,今天给老师验收的程序,老师

只看楼主收藏回复

请教一下各位一个有关多线程的问题,今天给老师验收的程序,老师问为什么要sleep(200),我就说了让它休眠200毫秒让大小写字母一个一个的出来(每出一个休眠200毫秒),去掉以后(try catch也去掉)会直接出来大小写字母,我是说因为cpu运行的很快会直接把大小写显示出来,老师只是摇头啥都不说,虽然给我验收过了,但是也写了不理解多线程的运行,我该怎么回答这个问题?就是为什么要sleep(200),我感觉这里面是不是有什么东西?我没有意识到_(:з」∠)_求各位能不能帮忙解答一下?


IP属地:湖南来自Android客户端1楼2018-12-09 21:38回复
    sleep()是阻塞方法,sleep(200)后会阻塞程序运行200毫秒,阻塞后会出现程序中断异常


    来自Android客户端2楼2018-12-09 21:47
    回复
      广告
      立即查看
      中断会出现异常


      来自Android客户端3楼2018-12-09 21:49
      回复
        不是阻塞会出现异常


        来自Android客户端4楼2018-12-09 21:49
        回复
          所以你的题目但是是要求做什么?


          IP属地:上海来自Android客户端5楼2018-12-09 21:51
          回复(5)
            不一定输出一个大写一个小写。


            来自Android客户端6楼2018-12-09 22:01
            回复
              会出现并发问题


              来自Android客户端7楼2018-12-09 22:01
              回复
                线程是随机分配的时间片


                来自Android客户端8楼2018-12-09 22:02
                回复(4)
                  广告
                  立即查看
                  系统给线程分配的时间片是随机的


                  来自Android客户端9楼2018-12-09 22:04
                  回复
                    两个线程并发,时间错开才能刚好打出大小写,不sleepcpu线程调度是随机的可能打出的大小写不对应


                    IP属地:湖北来自Android客户端10楼2018-12-09 23:08
                    回复
                      是要用wait notifyAll 或者用锁实现 大小写交替输出吧


                      来自Android客户端11楼2018-12-09 23:58
                      收起回复
                        此贴终结谢谢各位了


                        IP属地:湖南来自Android客户端12楼2018-12-10 00:04
                        回复
                          必须要睡啊,不然不安全吧?


                          IP属地:湖北来自Android客户端13楼2018-12-14 19:51
                          回复
                            是否是输出和主程序是两个线程……?


                            来自Android客户端14楼2018-12-16 15:50
                            回复
                              广告
                              立即查看
                              并发事件 运用 synchronized 给代码块 上把锁


                              来自iPhone客户端15楼2018-12-17 10:50
                              回复