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