![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
文章平均质量分 84
人生路莫慌张
这个作者很懒,什么都没留下…
展开
-
线程池详解
线程池1、好处:1、降低资源消耗2、提高响应速度3、提高线程的可管理性2、线程池流程: 1. 首先线程池判断基本线程池是否已满?没满,创建一个工作线程来执行任务。满了,则进入下个流程。 2. 其次线程池判断工作队列是否已满?没满,则将新提交的任务存储在工作队列里。满了,则进入下个流程。 3. 最后线程池判断整个线程池是否已满?没满,则创建一个新的工作线程来执行任原创 2017-06-11 21:58:11 · 151 阅读 · 0 评论 -
一点一点学线程(二)锁
在线程中我们需要访问的数据没有被保护,这就是多线程最令人头疼的地方,线程安全,多线程之间的数据共享引发的安全问题。解决办法是采用加锁。何为加锁呢?就是我们将部分数据保护起来,每次只能有一个线程进行访问。1.Synchronized1.1同步代码块有效范围:同步代码块最小的粒度应该放在共享数据的上下文,或者说共享数据被操作的上下文中。语法:Java 中同步代码块的语法如下原创 2017-10-05 11:41:08 · 233 阅读 · 0 评论 -
一点一点学线程(一)线程基础
一点一点学线程(一)线程基础1、线程概念线程:序中的执行线程。Java 虚拟机允许应用程序并发地运行多个执行线程。线程的构成:1)线程ID。用于标实线程2)当前指令指针PC。标明下一指令执行点3)寄存器集合和堆栈。该线程的可用空间线程访问权限 一般来说线程能访问进程内存中的所有数据,但实际应用中线程也有自己的空间1)栈(可能被其他进程访问,但仍可认为是私有数据)原创 2017-09-20 12:43:09 · 241 阅读 · 0 评论 -
一点一点学线程(四)concurrent包
一点一点学线程(四)concurrent包1.闭锁 CountDownLatch:1.1 CountDownLatch是什么?CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行。CountDownLatch是在java1.5被引入的,跟它一起被引入的并发工具类还有CyclicBarrier、Semaphore、Concurren原创 2017-10-05 21:25:48 · 238 阅读 · 0 评论 -
一点一点学线程(五)Callable、Future和FutureTask
一点一点学线程(五):Callable、Future和FutureTask 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从J原创 2017-10-05 21:56:27 · 409 阅读 · 0 评论 -
重入锁ReentranLock与Synchronized对比
重入锁ReentranLock与Synchronized对比1. ReentranLock相关介绍:(1)Lock接口介绍:Lock接口不是Java语言内置的,不像synchronized是Java语言的关键字,是内置属性。而Lock是一个接口,通过这个接口可以实现同步访问;其中ReentranLock就是Lock接口的实现类。(2)Lock的一般语法:Lock l原创 2017-10-15 14:14:08 · 2688 阅读 · 0 评论