目录
引言
1.并发编程的重要性
2.并发的新定义
3.对Java并发编程的期望和目标
4.一个场景,加深理解
并发性,作为一系列性能技术的集大成者,致力于消除等待的煎熬。
拆分这句话
性能技术:并发关键在于让程序运行得更快,但在Java中,并发编程相对困难,所以首先应代码校验,除非有重大的性能问题,否则应尽量避免使用。
一个集合:包含了许多不同的方法来解决并发性问题。并发性定义的复杂性在于技术差异很大,使得性能技术的选择变得困难。
“减少等待”:是并发性的关键部分,它意味着在等待发生时才能产生效益。如果程序没有延迟,那么就无需改进。在多处理器上运行多个任务时,如果每个处理器都以满容量运行且没有任务需要等待其他任务,那么尝试提高吞吐量就没有意义。并发性的关键是找到那些需要等待的部分,并利用这些等待(cpu空闲)来加速程序(eg:让cpu执行别的任务,就是别让cpu歇着,它真的很能干,而且还很快!)。
需要注意的是,这个定义的有效性取决于“等待”这个词。如果没有等待,就没有加速的机会。如果有等待,那么就有很多方法可以加快速度,这取决于系统的配置、要解决的问题类型以及其他因素。
想象一下,你正在一家繁忙的餐厅用餐。这家餐厅非常繁忙,每个服务员都在忙碌地为顾客服务。每个服务员都有自己的任务,有的在接待顾客,有的在点菜,有的在上菜。
在这个例子中,每个服务员就是程序中的一个线程或进程,他们的任务就是执行特定的操作。当多个服务员同时工作时,他们可以更有效地服务顾客,因为他们可以同时处理多个任务。
并发编程的目标是消除等待。想象一下,如果没有并发编程,每个服务员都会按照顺序一个接一个地服务顾客,这样会导致长时间的等待(eg:系统页面卡死,不动)。但是有了并发编程,服务员可以同时服务多个顾客,这样就可以大大减少等待时间,提高服务质量和效率。