博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java并发编程艺术----读书笔记(一)
阅读量:6760 次
发布时间:2019-06-26

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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a724888/article/details/63683054
并发编程的挑战
1上下文切换。
cpu通过时间片分配算法来执行任务,从一个任务切换到另一个任务时会保留上个任务的状态。
多线程切换上下文开销大,不一定比单线程快。
减少上下文切换的方法
1无锁并发,不同线程处理不同数据段
2CAS算法,java的原子编程使用此算法,不需要加锁。
3最少线程编程
4协程:单线程多任务,并且支持切换。
2死锁
3 资源限制的挑战:
1网络带宽限制,硬件限制
2资源限制会导致并发效率低下
3硬件资源限制可以用分布式集群解决资源限制问题,让程序在多机执行。
软件资源,可以采取资源池复用的方式,如数据库连接池,socket连接复用,webservice连接复用等。
4资源受限时的并发,根据资源调整并发度,比如根据带宽调整,根据数据库连接数调整。
你可能感兴趣的文章
containerd发布了CRI修复程序和CVE-2019-5736更新的runc
查看>>
关于vue父子组件之间事件触发及数据传递问题
查看>>
GraphQL:了解Spring Data JPA / SpringBoot
查看>>
每隔1s打印0-5
查看>>
在安卓手机中rem单位border-radius:50%画圆变形的解决方案
查看>>
前端在h5页面调起微信支付接口和支付宝接口(日常笔记)
查看>>
Bundler 2.0 发布
查看>>
自动化部署工具Syncd v1.1.0发布,提供二进制安装包
查看>>
一位老码农的分享:一线程序员该如何面对「中年危机」?
查看>>
关于ES6深度拷贝
查看>>
财会小白的办公室自救指南
查看>>
Java核心技术笔记 接口、lambda表达式与内部类
查看>>
Docker 验证 Centos7.2 离线安装 Docker 环境
查看>>
【译】你可能不需要派生状态
查看>>
自动化瓦力多渠道打包python脚本
查看>>
各类型的 toString 方法合集
查看>>
Python爬虫 --- 2.4 Scrapy之天气预报爬虫实践
查看>>
GAN是一种特殊的损失函数?
查看>>
数据告诉我们:什么样的程序员最抢手!
查看>>
javascript 正则表达式 (一)
查看>>