问答详情
源自:3-4 synchronized实现可见性代码(下)

视频里的线程有3条吗?main线程也叫主线程吗?还有写线程和读线程吗?synDemo .new ReadWriteThread(true).start(); try { Thread.sleep(1000); //老师的话:主线程休眠1秒,等待写线程完成 } catch (InterruptedException e) { e.printStackTrace(); }

视频里的线程有3条吗?main线程也叫主线程吗?还有写线程和读线程吗?synDemo .new ReadWriteThread(true).start();         try {             Thread.sleep(1000);                     //老师的话:主线程休眠1秒,等待写线程完成         } catch (InterruptedException e) {                 e.printStackTrace();         }

提问者:快乐不假 2016-04-20 16:59

个回答

  • BetterTomorr
    2016-04-21 16:45:02
    已采纳

    1、main线程为主线程, 还有 写线程 和 读线程, 可简单理解为程序中总共有这3个线程(3个线程轮流执行, 主线程等待 写线程 和 读线程执行完毕 最后程序运行终止)

    (主线程的任务或作用 就是 执行main 方法中的代码指令(即启动 写线程 和 读线程))

    2、程序分析如下:

    a、首先 主线程运行 , 启动了 写线程后 主线程进入休眠(此时 因为主线程休眠了,而 读线程还没有启动(需要主线程来启动)),  所以只有/仅有 写线程 获取CPU执行权,  因为写线程本身的任务简单,在主线程休眠的1秒时间内足够它执行完。。。当主线程苏醒后, 获取CPU执行权, 启动 读线程 , 读线程 紧接着执行读操作, 输出为 6 .

  • qq_唐敏卡_03145050
    2016-09-19 22:06:28

    你的答案逻辑性很清楚,终于明白了,谢谢!!!