博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
多线程-并发基础
阅读量:5949 次
发布时间:2019-06-19

本文共 1423 字,大约阅读时间需要 4 分钟。

高并发: High Concurrency

CPU 多级缓存: 数据 存取 通过高速缓存 cache。一级缓存 二级缓存 三级缓存

时间局部性  空间局部性

缓存一致性 MESI (修改  独享 共享 无效) 

乱序执行优化

 

 

JAVA虚拟机-内存模型 JMM

堆: 用户对象信息存储

栈: 对象引用、基本类型变量存储,堆区对象的私有拷贝

 

 

import com.imooc.concurrency.annoations.NodThreadSafe;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Semaphore;@NodThreadSafepublic class ConcurrentyTest {    // 请求总数    public static int countTotle = 5000;    // 并发执行线程数    public static int threadTotle = 200;    public static int sum = 0;    public static void main(String[] args)throws Exception {        ExecutorService executorService = Executors.newCachedThreadPool(); //线程池        final Semaphore semaphore = new Semaphore(threadTotle);             //信号量        final CountDownLatch countDownLatch = new CountDownLatch(countTotle); // 计数器        for (int i=0;i
{ try { semaphore.acquire(); // 是否允许被执行 add(); semaphore.release(); } catch (Exception e) { e.printStackTrace(); } countDownLatch.countDown();//计数器 -1 }); } countDownLatch.await(); executorService.shutdown(); System.out.println(sum); } private static void add() { sum++; }}

 

 

 

 

 

转载于:https://www.cnblogs.com/Tonyzczc/p/10649358.html

你可能感兴趣的文章
我的友情链接
查看>>
Android Target unknown and state offline
查看>>
润乾报表使用EXCEL数据源的方法及改进
查看>>
java并发编程基础
查看>>
我的DOS命令路径定义错了
查看>>
应用SELinux中的目标策略限制进程运行
查看>>
html5页面点击和左右滑动页面滚动
查看>>
事情的两面性
查看>>
只要会营销,shi都能卖出去?
查看>>
TCP/IP三次握手详细过程
查看>>
sed单行处理命令奇偶行输出
查看>>
走向DBA[MSSQL篇] 从SQL语句的角度 提高数据库的访问性能
查看>>
VC++深入详解学习笔记1
查看>>
安装配置discuz
查看>>
CentOS7 64位小型操作系统的安装
查看>>
线程互互斥锁
查看>>
KVM虚拟机&openVSwitch杂记(1)
查看>>
使用Jmeter进行http接口测试
查看>>
win7下ActiveX注册错误0x80040200解决参考
查看>>
python自动化创建mysql多实例
查看>>