如何解决将多线程集成到C ++中如何使性能受益,为什么?
我了解到多线程是指程序的两个或多个部分可以同时运行,但是使用多线程的实际目的是什么?为什么以及如何使我们的程序性能受益?
解决方法
如果我说有10000个项目的清单,并且每个项目都需要进行操作。如果我对10000个项目使用单个线程进行此操作,可以说这将花费8秒。如果我在4核CPU上对该操作使用多线程,这意味着我可以在4个线程之间划分该操作,并且该操作的成本现在将是运行该项目的四分之一(即2500)的成本。大约需要2秒。因为每个线程在10000个项目中的2500个项目上独立运行。这样,多线程可以加快计算速度。我没有考虑设置线程的成本。
多线程的另一种用法是避免线程阻塞需要很长时间才能返回的调用。例如,在TCP套接字编程中接受并连接。您可以旋转一个新线程来处理该问题,这不是为了提高速度,而是要确保主线程不会被阻塞。
,多线程的 actual 目的仅是您所说的:这是一种使程序的两个或更多部分同时运行的方法。
有许多原因可能导致您希望同一程序的两个或多个部分同时运行。其中的一个原因是,这是一种利用多处理器计算机系统的多个CPU的方法:如果将不同的并发线程分配给不同的CPU,它们可以执行in parallel with each other。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。