线程
每天都要加加油王得坤
于微小出见精神
展开
-
自旋锁的原理及使用
什么是自旋锁是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。获取锁的线程一直处于活跃状态,但是并没有执行任何有效的任务,使用这种锁会造成busy-waiting。它是为实现保护共享资源而提出一种锁机制。其实,自旋锁与互斥锁比较类似,它们都是为了解决对某项资源的互斥使用。无论是互斥锁,还是自旋锁,...转载 2019-10-14 16:17:37 · 4536 阅读 · 1 评论 -
多线程上下文切换
首先我们需要了解cpu时间片,cpu时间片指的是cpu分配给每个线程的执行时间段,称作他的时间片,cpu的时间片一般是几十毫秒上下文切换概念:cpu通过时间片段的算法来循环执行线程任务,而循环执行即每个线程允许允许运行的时间后的切换,而这种循环的切换是各个程序从表面上看起来是同时进行的。而切换时会保存之前的线程任务状态,当切换到该线程的任务的时候,会重新加载该线程的任务状态,而这个从保存到加载...转载 2019-10-14 15:55:05 · 159 阅读 · 0 评论 -
线程连接池
第一种:Executors.newCacheThreadPool():可缓存线程池,先查看池中有没有以前建立的线程,如果有,就直接使用。如果没有,就建一个新的线程加入池中,缓存型池子通常用于执行一些生存期很短的异步型任务package testfordemo;import java.util.concurrent.ExecutorService;import java.util.con...转载 2019-10-14 15:26:56 · 410 阅读 · 0 评论