![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java线程
站在墙头上
挣不到钱,只能发奋图强好好学习
展开
-
线程的显式锁(Lock)·读写锁(ReadWriteLock)·条件阻塞(Condition)
显式锁·读写锁·条件阻塞0 锁的条件1. 显式锁(Lock)1.1 用法场景1.2 Lock与synchronized1.3 显式锁(Lock)的具体实现2. 读写锁(ReadWriteLock)2.1用法场景2.2原理2.3实现代码3. 条件阻塞(Condition)3.1 Condition的优点3.2具体实现在一些多个线程同时访问一些共享数据,一般都会涉及到线程安全问题。这时候就需要使用...原创 2020-03-21 00:13:48 · 590 阅读 · 0 评论 -
线程的原子操作CAS
线程的原子操作CAS对于线程的原子操作这块,看了好几遍视频,看了很多文章,最终还是没有看懂。先占个坑,后续补回来。。。。原创 2020-03-18 20:51:10 · 104 阅读 · 0 评论 -
线程的并发工具类(5)---Exchanger
Exchanger的使用1. Exchanger介绍1.1 用法场景1.2 原理2. Exchanger使用1. Exchanger介绍Exchanger使用的比较少,这里只做了解。Exchanger:两个线程之间的数据交换。1.1 用法场景两个线程之间的数据交换。1.2 原理初始化Exchanger实例,在两个线程ThreadOne()和ThreadTwo()中分别调用exchan...原创 2020-03-17 18:15:10 · 145 阅读 · 0 评论 -
线程的并发工具类(4)---Semaphore
Semaphore的用法1 .Semaphore介绍1.1 用法场景1.2 原理2 .Semaphore使用1 .Semaphore介绍Semaphore:主要是用于流量控制。作用:控制同时访问某个特定资源的线程数量,用于流量控制。1.1 用法场景最熟悉的场景就是数据库链接池的实现。在链接池的链接都被占用时,就会一直在等待憋的线程释放数据库链接资源,直到池中有可用链接。1.2 原理在...原创 2020-03-17 12:02:43 · 160 阅读 · 0 评论 -
线程的并发工具类(3)---CyclicBarrier
CyclicBarrier的用法1、CyclicBarrier介绍1.1、用法场景1.2、原理2、CyclicBarrier实例3、CyclicBarrier和CountDownLatch比较1、CyclicBarrier介绍CyclicBarrier,线程的同步工具类。作用:让一组线程达到某个屏障,被阻塞,一直到组内最后一个线程达到屏障时,屏障开放,所有被阻塞的线程会继续运行。由自身(该组...原创 2020-03-16 18:12:30 · 162 阅读 · 0 评论 -
线程的并发工具类(2)---CountDownLatch
#####@TOC1、CountDownLatch介绍CountDownLatch,线程的同步工具类。作用:是一组线程等待其他的线程完成工作以后在执行,加强版join。由外部因素(线程)去控制。1.1、用法场景1、某一线程在开始运行前等待n个线程执行完毕。启动一个服务时,主线程需要等待多个组件加载完毕,之后再继续执行。(多个准备线程,一个工作线程)2、实现多个线程开始执行任务的最大并行...原创 2020-03-15 16:02:30 · 169 阅读 · 0 评论 -
线程的并发工具类(1)----Fork/Join框架
Fork/Join框架-分而治之1、分而治之1.1、什么是"分而治之"?1.2、什么是"工作密取"?2、Fork/Join具体实现2.1、Fork/Join使用的标准范式2.2、Fork/Join的同步用法同时演示返回结果值2.3、Fork/Join的异步用法同时演示不要求返回值1、分而治之1.1、什么是"分而治之"?分而治之:规模为N的问题,N<阈值,直接解决,N>阈值,将N分...原创 2020-03-14 22:27:10 · 182 阅读 · 0 评论 -
对Java里的线程多说一点
Java线程1、线程的常用方法和线程的状态2、线程的优先级3、守护线程4、线程之间的共享1、线程的常用方法和线程的状态线程有5种状态:新建状态、就绪状态、运行状态、阻塞状态及死亡状态,整个生命周期就是这几种状态的切换。1.新建状态当用new操作符创建一个线程时。此时程序还没有开始运行线程中的代码。2.就绪状态一个新创建的线程并不自动开始运行,要执行线程,必须调用线程的start()方...原创 2020-03-11 14:22:46 · 84 阅读 · 0 评论 -
线程的理解和初步使用
线程的理解和初步使用1、线程的理解2、线程的简单使用最近学习了一些线程方面的知识,在此记录下。1、线程的理解面试的时候经常会被面试官问到这样一个问题:你对线程的理解有多少?,然后我们脑子里就会想到一些在开发过程中用到线程的功能或地方,比如一些:消息推送,实时接收处理一些大批量的数据,等一些场景。说完之后下个问题:你对进程的理解有多少?然后就会想到每一个运行的程序就是一个进程。官方一点的语言一...原创 2020-03-11 13:22:37 · 121 阅读 · 0 评论