多线程
超人不会飞、
这个作者很懒,什么都没留下…
展开
-
搞懂什么叫进程/线程、同步/异步、阻塞/非阻塞、并发/并行
原文链接:https://www.cnblogs.com/mhq-martin/p/9035640.html一.基本概念1.进程与线程进程(Process):是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源。一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程。线程是操作系统分配处理器时间的基本单元,在进程中可以有多个线程同时执行代码。进程之间...转载 2019-11-18 15:15:37 · 746 阅读 · 0 评论 -
浅谈进程、线程和协程三者之间的区别和联系
一.进程、线程、协程1.进程经典定义:一个执行中程序的实例。系统中的每个程序都运行在某个进程的上下文中。(-摘自 CSAPP)进程是系统资源分配的最小单位2.线程线程(thread)线程就是运行在进程上下文中的逻辑流。线程是操作系统能够进行运算调度的最小单位。3.协程相对子例程而言,协程更为一般和灵活,但在实践中使用没有子例程那样广泛。什么叫子例程:是一个大型程序中的某部分代码...转载 2019-11-02 19:50:57 · 638 阅读 · 0 评论 -
synchronized详解以及线程同步
synchronized详解以及线程同步 其实很容易发现,无论是加了锁的方法还是加了锁的代码块,**不管加的是对象锁还是类锁,只要上的是同一把锁,那么它们的访问规则就应该是相同的。**也就是上了同一把锁的东西,要么一起可以被访问,要么一起禁止别人访问。因此,如果想搞清楚访问的规则,我们首先要搞清楚锁的类型。然后判断,只要上的是同一把锁,访问的规则就应该相同。那么java中的锁有那些类型呢。可以...原创 2019-10-07 10:52:30 · 168 阅读 · 0 评论 -
并发容器总结
并发容器总结一 JDK 提供的并发容器总结JDK提供的这些容器大部分在 java.util.concurrent 包中。ConcurrentHashMap: 线程安全的HashMapCopyOnWriteArrayList: 线程安全的List,在读多写少的场合性能非常好,远远好于Vector.ConcurrentLinkedQueue: 高效的并发队列,使用链表实现。可以看做一个线程...原创 2019-10-07 10:52:22 · 70 阅读 · 0 评论 -
乐观锁与悲观锁
乐观锁与悲观锁1.什么是悲观锁与乐观锁?乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据之前都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后...原创 2019-10-07 10:52:13 · 97 阅读 · 0 评论 -
Java多线程
Java多线程一.多线程的声明周期状态名称说明New初始状态,线程被构建,但是还没有调用start()方法RUNNABLE运行状态,Java线程将操作系统中处于就绪和运行两种状态“笼统”地称作“运行中”BLOCKED阻塞状态,表示线程阻塞于锁WAITING等待状态,表示线程进入等待状态,进入该状态表示当前线程需要等待其他线程做出一些特定的动作(通知...原创 2019-10-07 10:52:57 · 96 阅读 · 0 评论 -
ConcurrentHashMap与Hashtable区别
一.ConcurrentHashMap与Hashtable区别ConcurrentHashMap 和 Hashtable 的区别主要体现在实现线程安全的方式上不同。底层数据结构: JDK1.7的 ConcurrentHashMap 底层采用 分段的数组+链表 实现,JDK1.8 采用的数据结构跟HashMap1.8的结构一样,数组+链表/红黑二叉树。Hashtable 和 JDK1.8 之前...原创 2019-10-07 10:53:07 · 323 阅读 · 0 评论 -
Atomic原子类总结
一.Atomic原子类总结1.1 介绍一下Atomic原子类Atomic 翻译成中文是原子的意思。在化学上,我们知道原子是构成一般物质的最小单位,在化学反应中是不可分割的。在我们这里 Atomic 是指一个操作是不可中断的。即使是在多个线程一起执行的时候,一个操作一旦开始,就不会被其他线程干扰。所以,所谓原子类说简单点就是具有原子/原子操作特征的类。并发包 java.util.concur...原创 2019-10-07 10:53:15 · 625 阅读 · 0 评论 -
AQS介绍
AQS介绍1.AQS简单介绍AQS的全称为(AbstractQueuedSynchronizer),这个类在java.util.concurrent.locks包下面。AQS是一个用来构建锁和同步器的框架,使用AQS能简单且高效地构造出应用广泛的大量的同步器,比如我们提到的ReentrantLock,Semaphore,其他的诸如ReentrantReadWriteLock,Synchro...原创 2019-10-07 10:53:22 · 191 阅读 · 0 评论