Java核心技术(进阶)
多线程
one_2_one
这个作者很懒,什么都没留下…
展开
-
第五章--Java多线程和并发编程 第五节--Java多线程管理
多线程管理(4): ----线程被动地暂停和终止(自己wait了,自己不能解脱,非要得到别的线程notify,才可以解脱) 依靠别的线程来拯救自己 没有及时释放资源(比如打开了一个文件,拿着一个锁对象,别的线程是拿不到这些资源的) ----希望线程能够主动暂停和终止 定期监测共享变量(别人需要我做什么,他可以把值放在共享变量上,我去定期监测,我根据共享变量的变化做动作) 如果需要暂停或者终止,先释放资源,再主动做动作 暂停:Thread.sleep(),休眠 终止:run方法结束,线程终止原创 2020-09-05 15:41:40 · 127 阅读 · 0 评论 -
第五章--Java多线程和并发编程 第四节--Java多线程管理
多线程管理(1): 线程类: 通过继承Thread或实现Runnable 通过start方法,调用run方法,run方法工作 线程run结束后,线程退出 粗粒度:子线程与子线程之间、和main线程之间缺乏同步 细粒度:线程之间有同步协作(让线程等待、线程发通知 / 唤醒线程、终止某个线程) 多线程管理(2): 线程的全部状态: ---- NEW:刚刚创建(new),当一个线程对象被new出来的时候,只是在内存里占据一定空间,但是没有被运行起来,因为start方法还没有启动 ---- RU原创 2020-09-04 11:09:13 · 142 阅读 · 0 评论 -
第五章--Java多线程和并发编程 第三节--Java多线程信息共享
多线程信息共享(1) 线程类: ---- 通过继承Thread或实现Runnable ---- 通过start方法,调用run方法,run方法工作 ---- 线程run结束之后,线程退出 粗粒度:子线程与子线程之间,子线程和main线程之间缺乏交流(之前的多线程就是一中粗粒度的执行模式) 细粒度:线程之间有信息交流通讯(细粒度的编程模式) 对于细粒度的执行模式,需要注意: (1)可以通过共享变量达到信息共享 (2)JDK原生库暂时不支持点对点发送消息(类似MPI并行库直接发送消息) MP原创 2020-08-25 16:32:39 · 108 阅读 · 0 评论 -
第五章--Java多线程和并发编程 第二节--Java多线程实现
Java多线程创建的两种方法: (1)java.lang.Thread:线程继承Thread类,实现run方法 (2)java.lang.Runnable接口:线程实现Runnable接口,实现run方法 注意:Java中有四个主要接口: Clonable,用于对象克隆 Comparable,用于对象比较 Serializable,用于对象序列化 Runnable,用于对象线程化(让一个类具有线程化的能力) Java多线程启动: ---- start方法,会自动以新进程调用run方原创 2020-08-23 23:14:23 · 113 阅读 · 0 评论 -
第五章--Java多线程和并发编程 第一节--多进程和多线程简介
多进程概念(1): ----当前的操作系统都是多任务OS(在windows上同时写着文档,听着音乐,聊着QQ,同时打开好几个应用程序) ----每个独立执行的任务就是一个进程 ----OS将时间划分为多个时间片(每个时间片很短,可能只有几个纳秒几个微秒) ----每个时间片内将CPU分配给某一个任务,时间片结束,CPU将自动回收,再分配给另外任务。从外部看,所有任务是同时在执行(音乐一直在放,QQ一直在接收消息)。但是在CPU上,任务是按照串行顺序依次运行(假设在单核CPU上运行,CPU一直在工作,原创 2020-08-22 23:28:22 · 156 阅读 · 0 评论