快乐不假
2016-04-20 16:59
视频里的线程有3条吗?main线程也叫主线程吗?还有写线程和读线程吗?synDemo .new ReadWriteThread(true).start(); try { Thread.sleep(1000); //老师的话:主线程休眠1秒,等待写线程完成 } catch (InterruptedException e) { e.printStackTrace(); }
1、main线程为主线程, 还有 写线程 和 读线程, 可简单理解为程序中总共有这3个线程(3个线程轮流执行, 主线程等待 写线程 和 读线程执行完毕 最后程序运行终止)
(主线程的任务或作用 就是 执行main 方法中的代码指令(即启动 写线程 和 读线程))
2、程序分析如下:
a、首先 主线程运行 , 启动了 写线程后 主线程进入休眠(此时 因为主线程休眠了,而 读线程还没有启动(需要主线程来启动)), 所以只有/仅有 写线程 获取CPU执行权, 因为写线程本身的任务简单,在主线程休眠的1秒时间内足够它执行完。。。当主线程苏醒后, 获取CPU执行权, 启动 读线程 , 读线程 紧接着执行读操作, 输出为 6 .
你的答案逻辑性很清楚,终于明白了,谢谢!!!
细说Java多线程之内存可见性
55910 学习 · 74 问题
相似问题
回答 1
回答 2