1、上下文切换
时间片是CPU分配给各个线程的时间。CPU通过时间片分配算法来循环执行任务。当前线程执行一个时间片后会切换到下一个线程,但是,在切换前会保存上一个任务的状态。下次切换回这个任务的时候可以再加载这个任务的状态。
任务从保存到在加载几十一次上下文切换。会影响多线程的的执行速度。
解决方法:1、无锁并发编程 2、使用最少线程
2、死锁
死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。(进程占有资源,相互申请,循环等待)
解决方法:a、按同一顺序访问对象。
b、避免事务中的用户交互。
c、保持事务简短并处于一个批处理中。
d、使用较低的隔离级别。
3、资源限制
硬件资源限制:1、带宽的上传、下载速度 2、硬盘的读写速度 3、cpu的处理速度
软件资源限制:1、数据库的连接 2、socket连接数