线程
流浪的山人
这个作者很懒,什么都没留下…
展开
-
线程基础:线程(1)——操作系统和线程原理
1、概述我在写“系统间通信技术专栏”的时候,收到很多读者的反馈。其中有一部分读者希望我抽空写一写自己关于对JAVA线程的使用经验和总结。巧的是,这个月我所在的技术团队也有很多同事跟我讨论关于JAVA中线程的操作。正好本月我工作也不是很忙,除了继续推进我的重点专栏“系统间通信技术”外,可以更多的空余时间跟各位读者分享自己对JAVA线程技术的理解和使用经验。本人不才,应读者要求新开专栏,与各位读者分享...转载 2018-01-25 13:23:31 · 155 阅读 · 0 评论 -
线程基础:线程(2)——JAVA中的基本线程操作(上)
1、JAVA中线程的状态1-1、#对象锁在JAVA中每一个对象都有一把‘锁’,这个‘锁’可以是开放状态;也可以由某一个线程(或者多个线程)持有‘钥匙’;一旦在系统中某个对象的‘锁’存在至少一把‘钥匙’,那么任何线程操作这个对象,都必须验证是否有‘钥匙’,如果没有则会报IllegalMonitorStateException异常。可是‘锁芯’(对象独占权)只有一个,那么可以打开这把锁的多个‘钥匙’同...转载 2018-01-25 13:25:52 · 155 阅读 · 0 评论 -
线程基础:线程(3)——JAVA中的基本线程操作(中)
(接上文《线程基础:线程(2)——JAVA中的基本线程操作(上)》)1-4、注意synchronized关键字的使用在前面的文章中我们主要讲解的是线程中“对象锁”的工作原理和操作方式。在讲解synchronized关键字的时候,我们还提到了synchronized关键字可以标注的位置。大家经常看到相当部分的网贴,在它们的代码示例中将synchronized关键字加载到代码的方法体上,然后告...转载 2018-01-25 13:40:33 · 121 阅读 · 0 评论 -
线程基础:线程(4)——JAVA中的基本线程操作(下)
(接上文《线程基础:线程(3)——JAVA中的基本线程操作(中)》)2-2、interrupt信号interrupt,单词本身的含义是中断、终止、阻断。当某个线程收到这个信号(命令)的时候,会将自生的状态属性置为“interrupted”,但是线程本身并不会立刻终止。程序员需要根据这个状态属性,自行决定如何进行线程的下一步活动。2-2-1、interrupt和InterruptedEx转载 2018-01-25 13:45:56 · 152 阅读 · 0 评论 -
线程基础:线程池(5)——基本使用(上)
1、概述从本文开始,我将用两篇文章的篇幅,为各位读者呈现JAVA中原生的线程池技术。第一篇文章,我将讲解JAVA原生线程池的基本使用,并由此延伸出JAVA中和线程管理相关的类结构体系,然后我们详细描述JAVA原生线程池的结构和工作方式;第二篇文章,我们将继续深入,讲解JAVA原生线程池的高级特性,包括Thread工厂、队列、拒绝原则、钩子和相关工具类。如果您是JAVA语言的初学者,请从本篇转载 2018-01-25 13:46:45 · 161 阅读 · 0 评论 -
线程基础:线程池(6)——基本使用(中)
(接上文:《线程基础:线程池(5)——基本使用(上)》)3-4、JAVA主要线程池的继承结构我们先来总结一下上文中讨论过的内容,首先就是JAVA中ThreadPoolExecutor类的继承结构。如下图所示:ThreadPoolExecutor:这个线程池就是我们这两篇文章中介绍的重点线程池实现。程序员可以通过这个线程池中的submit()方法或者execute()方法,执转载 2018-01-25 13:48:02 · 158 阅读 · 0 评论 -
线程基础:线程池(7)——基本使用(下)
(接上文《线程基础:线程池(6)——基本使用(中)》,我要加快进度,以便在2月份恢复“系统间通信技术”专栏的写作)5、扩展ThreadPoolExecutor线程池实际上JAVA中提供的ThreadPoolExecutor线程池是鼓励各位程序员进行扩展的(虽然大多数情况下您无需扩展),并且JBOSS(Netty)、Apache(Camel)也正是这样在做。下面我们看看一些由ThreadPo转载 2018-01-25 13:49:27 · 204 阅读 · 0 评论