
java并发编程
flx_bj
这个作者很懒,什么都没留下…
展开
-
Java多线程并行计算
2020-04-19 16:33:43,310+0800 INFO [main] com.qx.test.ParallelTest - costs: 5046ms 2020-04-19 16:33:48,329+0800 INFO [main] com.qx.test.ParallelTest - costs: 5003ms 2020-04-19 16:33:53,332+0800 INFO [main] com.qx.test.ParallelTest - costs: 5003ms原创 2020-04-19 17:26:47 · 4548 阅读 · 0 评论 -
Linux排查Java占用CPU高的解决办法
1、 top查看cpu使用率过高的进程 2、 ps -mp 【替换为进程ID PID】 -o THREAD,tid,time ps -mp 15774 -o THREAD,tid,time 发现线程16091占用CPU很高,时间也很长。 3、 printf “%x”【线程ID TID】 把线程id转换成16进制 printf "%x" 16091 4. jstack 【...原创 2019-03-14 10:42:13 · 1671 阅读 · 0 评论 -
Java内存模型
Java内存模型规范了Java虚拟机与计算机内存是如何协同工作的。Java虚拟机是一个完整的计算机的一个模型,因此这个模型自然也包含一个内存模型——又称为Java内存模型。 如果你想设计表现良好的并发程序,理解Java内存模型是非常重要的。Java内存模型规定了如何和何时可以看到由其他线程修改过后的共享变量的值,以及在必须时如何同步的访问共享变量。 原始的Java内存模型存在一些不足,因此Ja...转载 2018-08-16 18:21:27 · 127 阅读 · 0 评论 -
并发编程辅助类CyclicBarrier的用法
CyclicBarrier 的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续干活。CyclicBarrier默认的构造方法是CyclicBarrier(int parties),其参数表示屏障拦截的线程数量,每个线程调用await方法告诉Cycli...原创 2018-08-16 17:25:16 · 215 阅读 · 0 评论 -
并发编程辅助类Semaphore的用法
Semaphore可以控制同时访问的线程个数,通过 acquire() 获取一个许可(若无许可能够获得,则会一直等待,直到获得许可),如果没有就等待,而 release() 释放一个许可(注意,在释放许可之前,必须先获获得许可)。 package com.test.concurrent; import lombok.extern.slf4j.Slf4j; import org.apache....原创 2018-08-16 16:47:42 · 187 阅读 · 0 评论 -
并发编程辅助类CountDownLatch的用法
CountDownLatch类位于java.util.concurrent包下,利用它可以实现计时功能。比如有10个任务,需要统计执行完成10个任务一共花了多长时间,此时就可以利用CountDownLatch来实现这种功能了。 package com.test.concurrent; import lombok.extern.slf4j.Slf4j; import org.apache.co...原创 2018-08-16 16:00:20 · 272 阅读 · 0 评论 -
CompletableFuture
public class TestCompletableFuture { private static final Executor executor = Executors.newFixedThreadPool(4); private static void submitSleep(int id) { CompletableFuture resultCF =原创 2017-05-03 18:02:06 · 409 阅读 · 0 评论 -
CompletableFuture
CompletableFuture是java8中添加的一个类了,这个类主要的作用就是提供了新的方式来完成异步处理,包括合成和组合事件的非阻塞方式。 简单示例: 对于Future可以这样提交任务: [java] view plain copy ExecutorService executor = Executors.newFix转载 2017-05-03 18:20:49 · 438 阅读 · 0 评论 -
Java中的Copy-On-Write容器
Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。转载 2017-04-11 16:21:17 · 295 阅读 · 0 评论 -
Java并发编程之基础知识和多线程简介
处理器:即中央处理器(CPU,Central Processing Unit),它是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。 进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计转载 2017-03-13 09:31:08 · 795 阅读 · 0 评论