1、上下文切换
(1)定义:CPU通过不停地切换线程来实现多线程的执行,一个任务从暂存到重新加载的过程就是一次上下文切换。
(2)减少上下文切换方法:无锁并发编程、CAS算法、使用最少线程和使用协程。
2、死锁的处理
(1)避免一个线程同时获取多个锁。
(2)尽量保证每个锁只占用一个资源。
(3)尝试使用定时锁。
(4)对于数据库锁,加锁和解锁必须在一个数据库连接里,否则会出现解锁失败的情况。
3、资源限制
(1)硬件资源限制有带宽的上传/下载速度、硬盘读写速度和CPU的处理速度。
(2)软件资源限制有数据库的连接数和socket连接数等。
(3)对于硬件资源限制可以考虑使用集群并发执行程序,软件资源则可以考虑使用资源池将资源复用(比如数据库的连接池)。