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