并发编程的目的是为了让程序运行得更快,但是,并不是启动更多的线程就能让程序最大限度地并发执行。
在进行并发编程时,如果希望通过多线程执行任务让程序运行得更快,会面临非常多的挑战,
比如上下文切换的问题、死锁的问题,以及受限于硬件和软件的资源限制问题。
1.1上下文切换
任务从保存到再加载的过程就是一次上下文切换。
上下文切换会影响多线程的执行速度。
1.1.3如何减少上下文切换:
无锁并发编程
CAS算法
使用最少线程
协程
1.2死锁
1.3资源限制的挑战