多线程
一个胖子IT男
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
多线程学习(一)---线程与进程
参考文章: 多线程三分钟就可以入个门了! 多线程全面详解总结 1. 进程与线程的定义 1.1 进程 很常见,在windows下,打开任务管理器,就能看见操作系统正在运行的进程: 网上进程的定义有很多: 狭义定义:进程是正在运行的程序的实例(an instance of a computer program that is being executed)。 广义定义:进程是一个具有一定独立功...原创 2019-06-14 15:40:12 · 309 阅读 · 0 评论 -
多线程学习(二)---线程的创建
参考文章: 多线程三分钟就可以入个门了! 多线程全面详解总结 【多线程】Java创建多线程的4种方法 首先看Thread类源码中的注释: /** * A <i>thread</i> is a thread of execution in a program. The Java * Virtual Machine allows an application to ha...原创 2019-06-14 17:26:24 · 240 阅读 · 0 评论 -
多线程学习(三)---Thread源码解读
参考文章: Thread源码剖析 jdk版本:1.8.0_201 1. 线程名 我们在使用多线程的时候,想要查看线程名是很简单的,调用Thread.currentThread().getName()即可。 如果没有做什么的设置,我们会发现线程的名字是这样子的:主线程叫做main,其他线程是Thread-x. 下面来看它的实现方法: /** * Allocates a new {@co...原创 2019-06-15 14:11:50 · 595 阅读 · 0 评论 -
多线程学习(四)---多线程基础
参考文章: 多线程基础必要知识点!看了学习多线程事半功倍 一、使用多线程遇见的问题 1.1 线程安全问题 多线程主要是为了提高我们应用程序的使用率。但同时,这会给我们带来很多安全问题。 如果我们在单线程中以“顺序”(串行–>独占)的方式执行代码是没有任何问题的。但是到了多线程的环境下(并行),如果没有设计和控制得好,就会给我们带来很多意想不到的状况,也就是线程安全性问题。 因为在多线程的...原创 2019-06-15 16:20:37 · 345 阅读 · 0 评论 -
多线程学习(五)---java锁机制
参考文章: Java锁机制了解一下 一、synchronized锁 1.1 synchronized锁是什么 synchronized是Java的一个关键字,它能够将代码块(方法)锁起来。 它使用起来是非常简单的,只要在代码块(方法)添加关键字synchronized,即可以实现同步的功能。 public synchronized void deal() { if (...原创 2019-06-17 09:53:28 · 421 阅读 · 0 评论 -
多线程学习(六)---AQS
参考文章: AQS简简单单过一遍 Java并发编程札记-(四)JUC锁-03AQS 深入学习java同步器AQS 一、 AQS是什么 首先我们来普及一下juc是什么:juc其实就是包的缩写(java.util.concurrnt)。 我们可以发现lock包下有三个抽象的类: AbstractOwnableSynchronizer AbstractQueuedLongSynchronizer ...原创 2019-06-17 14:22:59 · 249 阅读 · 0 评论 -
多线程学习(七)---ReentrantLock与ReentrantReadWriteLock
参考文章: AQS简简单单过一遍 一、ReentrantLock锁 首先我们来看看ReentrantLock锁的顶部注释,来看看他的相关特性: /** * A reentrant mutual exclusion {@link Lock} with the same basic * behavior and semantics as the implicit monitor lock ac...原创 2019-06-17 17:38:29 · 536 阅读 · 0 评论 -
多线程学习(八)---线程池
参考文章: 线程池你真不来了解一下吗? 一、 线程池简介 线程池可以看做是线程的集合。在没有任务时线程处于空闲状态,当请求到来:线程池给这个请求分配一个空闲的线程,任务完成后回到线程池中等待下次任务(而不是销毁)。这样就实现了线程的重用。 如果没有使用线程池,为每个请求都新开一个线程: public class Test { public static void main(Strin...原创 2019-06-24 11:36:24 · 477 阅读 · 0 评论
分享