java并发编程
文章平均质量分 94
PostTruth
书写是对思维的缓存
展开
-
由 CPU Load 过高告警引发的对 线程数和 CPU 的思考
线程池 数设置你真的会吗?可能很多人都看到过一个线程数设置的理论:CPU 密集型的程序 - 核心数 + 1I/O 密集型的程序 - 核心数 * 2这个理论看起来很合理,但实际操作起来,总是不仅如此人意。下面,我们就来看一下 线程数, CPU 的关心先说一个基本的理论,大家应该都知道:一个CPU核心,单位时间内只能执行一个线程的指令那么理论上,我一个线程只需要不停的执行指令,就可以跑满一个核心的利用率。下面我们用一段程序来测试下 CPU 和线程数 之间的关系。CPU 利用率测试测原创 2021-12-28 18:39:57 · 3273 阅读 · 0 评论 -
synchronized实战
synchronizedsynchronized 是最常用的实现同步的手段,在 Java SE 1.6 以及之后的版本,对 synchronized 进行了优化,使 synchronized 整体的性能得到了很大的提升,下面看下 synchronized 的相关实现。示例下面是一个基本的使用示例:import java.util.concurrent.ExecutorS...原创 2018-04-05 17:35:08 · 999 阅读 · 0 评论 -
java 线程详解
线程 目录 HelloWorld在 Java 中有两种方式创建线程,第一种方式是实现 Runnable 接口,第二种方式是继承 Thread 类,下面是使用示例:public class RunnableDemo implements Runnable{ @Override public void run() { System.out.p...原创 2018-04-05 17:40:09 · 240 阅读 · 0 评论 -
Java并发编程:volatile关键字解析
引言Volatile关键字与java内存模型有关,因此在讲出volatile之前我们先要了解一下java的内存模型.java内存模型首先我们从一个著名的 著名的缓存一致性问题 说起:举个简单的例子,比如下面的这段代码:i = i + 1;当线程执行者句代码时,会先从主内存中读取i的值,然后复制一份到高速缓存区,cpu再执行指令把高速缓冲区中的i值加1,再把最新的i...原创 2018-06-05 12:16:58 · 373 阅读 · 1 评论