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

来源:3-4 synchronized实现可见性代码(下)

快乐不假

2016-04-20 16:59

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

写回答 关注

2回答

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

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

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

    2、程序分析如下:

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

    快乐不假

    懂了,谢谢

    2016-04-22 22:42:12

    共 1 条回复 >

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

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

细说Java多线程之内存可见性

用两种方式实现内存可见性,代领大家深层次学习Java中的内存

55910 学习 · 74 问题

查看课程

相似问题