
多线程
gimm667
这个作者很懒,什么都没留下…
展开
-
jdk--ThreadPoolExecutor2--LinkedBlockingQueue
ThreadPoolExecutor线程池满拒绝执行策略,默认abortpolicy,不执行并抛出异常AbortPolicy拒绝策略implements RejectExecutionHandler实现rejectExecution(){//抛出异常throw new RejectExecutionException("task"..runnable reject from executor)}blockingqueue-->在ThreaPoolExecutor中使用r..原创 2020-05-21 00:47:53 · 204 阅读 · 0 评论 -
jdk--ThreadPoolExecutor1--线程池并发线程数
充分利用CPU多核,每个内核不闲置线程池线程数--->基于Ncpu核数 线程任务------计算密集型 -------IO密集型计算密集型,线程数=CPU核数 --------------CPU1,没有IO等待,一直计算执行繁忙 --------------CPU2,没有IO等待,一直计算...原创 2020-05-17 03:47:01 · 255 阅读 · 0 评论 -
线程并发锁竞争--java锁jvm锁--synch与reentrantLock比较1
sych在线程竞争中情况最终使用重量级锁,线程较少情况使用偏向锁->自旋锁当大量线程并发出现,自旋锁升级为重量级锁,因为jvm调优当大量线程自旋太过消耗CPU资源,启用重量级锁,没有获得锁的线程到等待队列挂起等待,不消耗CPUreetrantLock实现基于AQS(CAS),使用自旋队列方式,所以在较大线程并发情况占用CPU比较消耗CPU资源condition,重...原创 2020-04-24 14:08:40 · 216 阅读 · 0 评论 -
线程并发锁竞争--java锁jvm锁--synch锁分析
cas compare and swap,比较交换,atomic原子类,native unsafe compareAnd,汇编实现asm汇编,lock xchge,多核lock其他核不能操作synch锁升级过程,根据竞争情况升级无锁(new)->偏向锁(占用标签)->轻量级锁自旋锁->重量级锁(操作系统底层内核态申请) markwo...原创 2020-04-24 14:05:15 · 210 阅读 · 0 评论