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

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

1、上下文切换

(1)定义:CPU通过不停地切换线程来实现多线程的执行,一个任务从暂存到重新加载的过程就是一次上下文切换。

(2)减少上下文切换方法:无锁并发编程、CAS算法、使用最少线程和使用协程。

 

2、死锁的处理

(1)避免一个线程同时获取多个锁。

(2)尽量保证每个锁只占用一个资源。

(3)尝试使用定时锁

(4)对于数据库锁,加锁和解锁必须在一个数据库连接里,否则会出现解锁失败的情况。

 

3、资源限制

(1)硬件资源限制有带宽的上传/下载速度、硬盘读写速度和CPU的处理速度。

(2)软件资源限制有数据库的连接数和socket连接数等。

(3)对于硬件资源限制可以考虑使用集群并发执行程序,软件资源则可以考虑使用资源池将资源复用(比如数据库的连接池)。

转载于:https://www.cnblogs.com/xy80hou/p/11140932.html

你可能感兴趣的文章
导入properties时的坑
查看>>
配置NRPE的通讯
查看>>
shp系列(一)——利用C++进行shp文件的读(打开)与写(创建)开言
查看>>
匹配两个空格之间的字符。。。
查看>>
CSS 文字溢出 变成省略号 ...
查看>>
Spring事务
查看>>
java编程基础(三)流程控制语句
查看>>
让数据库跑的更快的7个MySQL优化建议
查看>>
jquery 取id模糊查询
查看>>
解决在vue中,自用mask模态框出来后,下层的元素依旧可以滑动的问题
查看>>
修改node节点名称
查看>>
PAT(B) 1014 福尔摩斯的约会(Java)
查看>>
PAT甲级题解-1123. Is It a Complete AVL Tree (30)-AVL树+满二叉树
查看>>
项目开发总结报告(GB8567——88)
查看>>
SSH加固
查看>>
端口扫描base
查看>>
iOS IM开发的一些开源、框架和教程等资料
查看>>
FansUnion:共同写博客计划终究还是“流产”了
查看>>
python 二维字典
查看>>
pip 警告!The default format will switch to columns in the future
查看>>