java中的并发如何提高单核处理器上运行的程序的性能?

java中的并发如何提高单核处理器上运行的程序的性能?,java,multithreading,concurrency,process,Java,Multithreading,Concurrency,Process,最近我在一本书中读到并发是多处理器编程的基本工具 它对单核处理器有什么用处 当需要同时运行多个任务时,并发性非常有用。一个非常常见的例子是GUI编程;您不希望您的UI在程序等待从磁盘或网络加载数据时冻结,因此您有一个只管理UI元素的线程(在Swing/AWT中称为事件调度线程)和负责通信或长时间运行计算的后台线程。操作系统来回交换它们,以确保在其他任务仍处于活动状态时重新绘制UI。当需要同时运行多个任务时,并发性非常有用。一个非常常见的例子是GUI编程;您不希望您的UI在程序等待从磁盘或网络加载

最近我在一本书中读到并发是多处理器编程的基本工具

它对单核处理器有什么用处


当需要同时运行多个任务时,并发性非常有用。一个非常常见的例子是GUI编程;您不希望您的UI在程序等待从磁盘或网络加载数据时冻结,因此您有一个只管理UI元素的线程(在Swing/AWT中称为事件调度线程)和负责通信或长时间运行计算的后台线程。操作系统来回交换它们,以确保在其他任务仍处于活动状态时重新绘制UI。

当需要同时运行多个任务时,并发性非常有用。一个非常常见的例子是GUI编程;您不希望您的UI在程序等待从磁盘或网络加载数据时冻结,因此您有一个只管理UI元素的线程(在Swing/AWT中称为事件调度线程)和负责通信或长时间运行计算的后台线程。操作系统来回交换它们,以确保在其他任务仍处于活动状态时重新绘制UI。

能够在运行的线程之间切换对于感知单核处理器的性能非常有用。在许多系统中,UI的图形部分由另一个线程更新,而不是由执行工作的线程更新。当一个长任务正在运行时,如果用户没有任何反馈,这将是令人沮丧的。单核上并发的另一个有用应用是启动低优先级的长时间运行任务,同时用户可以自由地做其他事情。

能够在运行线程之间切换对于感知单核处理器的性能非常有用。在许多系统中,UI的图形部分由另一个线程更新,而不是由执行工作的线程更新。当一个长任务正在运行时,如果用户没有任何反馈,这将是令人沮丧的。单核上并发的另一个有用的应用是启动一个低优先级的长时间运行的任务,同时用户可以自由地做其他事情

并发是多处理器编程的基本工具

是的,但它也可以在其他领域有所帮助。例如,如果cpu不是瓶颈,并发还可以提高单核系统的吞吐量(例如,因为线程大部分时间都在等待来自磁盘或网络的I/O)

并发是多处理器编程的基本工具

是的,但它也可以在其他领域有所帮助。例如,如果cpu不是瓶颈,并发还可以提高单核系统的吞吐量(例如,因为线程大部分时间都在等待来自磁盘或网络的I/O)