【java并发编程】引言

目录

引言

1.并发编程的重要性

2.并发的新定义

3.对Java并发编程的期望和目标

4.一个场景,加深理解


引言

1.并发编程的重要性

  •  提高程序运行效率:在单核处理器时代,由于程序无法并行执行,即使每个任务的计算量很小,总的运行时间也可能很长。然而,随着多核处理器的出现,我们可以同时执行多个任务,大大提高了程序的运行效率。
  • 更好地利用系统资源:在多核处理器环境中,如果程序能够合理地利用这些多出来的核心,那么系统的吞吐量和响应速度将会得到显著的提升。并发编程是实现这一目标的重要手段。
  • 提升用户体验:对于互联网应用来说,用户对系统响应速度有着极高要求。通过并发编程,我们可以让系统接收到请求立即返回响应提高用户的体验
  • 支持大规模分布式系统:在现代的分布式系统中,任务需要在多个节点上并行执行以提高效率。并发编程提供了支持这种场景的工具和技术。
  • 解决复杂问题:某些问题,如数据处理、图形渲染等,需要大量的计算。如果使用串行方式执行,可能会导致计算过程过长。而并发编程可以让这些问题在多个线程或进程中并行处理,大大缩短了计算时间。

2.并发的新定义

并发性,作为一系列性能技术的集大成者,致力于消除等待的煎熬。

拆分这句话

性能技术:并发关键在于让程序运行得更快,但在Java中,并发编程相对困难,所以首先应代码校验,除非有重大的性能问题,否则应尽量避免使用。

一个集合:包含了许多不同的方法来解决并发性问题。并发性定义的复杂性在于技术差异很大,使得性能技术的选择变得困难。

“减少等待”:是并发性的关键部分,它意味着在等待发生时才能产生效益。如果程序没有延迟,那么就无需改进。在多处理器上运行多个任务时,如果每个处理器都以满容量运行且没有任务需要等待其他任务,那么尝试提高吞吐量就没有意义。并发性的关键是找到那些需要等待的部分,并利用这些等待(cpu空闲)来加速程序(eg:让cpu执行别的任务,就是别让cpu歇着,它真的很能干,而且还很快!)。

需要注意的是,这个定义的有效性取决于“等待”这个词。如果没有等待,就没有加速的机会。如果有等待,那么就有很多方法可以加快速度,这取决于系统的配置、要解决的问题类型以及其他因素。

3.对Java并发编程的期望和目标

  • Java并发编程的目标是提高程序的执行效率,通过同时执行多个任务来充分利用CPU资源,从而提升程序的性能。  
  • Java并发编程的期望是实现多线程并发执行,从而达到同时处理多个任务的目的。

4.一个场景,加深理解

想象一下,你正在一家繁忙的餐厅用餐。这家餐厅非常繁忙,每个服务员都在忙碌地为顾客服务。每个服务员都有自己的任务,有的在接待顾客,有的在点菜,有的在上菜。

在这个例子中,每个服务员就是程序中的一个线程或进程,他们的任务就是执行特定的操作。当多个服务员同时工作时,他们可以更有效地服务顾客,因为他们可以同时处理多个任务。

并发编程的目标是消除等待。想象一下,如果没有并发编程,每个服务员都会按照顺序一个接一个地服务顾客,这样会导致长时间的等待(eg:系统页面卡死,不动)。但是有了并发编程,服务员可以同时服务多个顾客,这样就可以大大减少等待时间,提高服务质量和效率。

你可能感兴趣的:(java,数据库,服务器)