【发布时间】:2014-01-31 17:55:16
【问题描述】:
我是多线程的新手...多线程用于提高性能,但是如果处理器已经以尽可能快的速度为单个线程工作,这怎么可能呢?
解释一下:
在单线程环境中,用户 A 启动需要 1 秒的任务 - 任务在 1 秒内完成。 用户 B 在几分之一秒后启动了相同的任务,并且必须等待用户 A,因此用户 B 的任务在将近 2 秒内完成。现在,如果这是一个多线程环境,两个任务不会同时运行,导致两个任务都需要 2 秒? ...例如。完成任务 A 的一部分,然后完成任务 B 的一部分,然后再次完成任务 A 的一部分,然后完成任务 B 的一部分,......直到最终两个任务在大约两秒内完成?
只有多个处理器才会更快吗?还是应该为处理大任务而需要在此期间弹出和退出较小任务时保留多线程?
【问题讨论】:
-
多任务/多线程最常用于提供良好的 I/O 响应。这适用于具有任意数量内核的系统。
标签: java multithreading performance time task