C线程值得重用?

时间:2012-02-04 22:14:15

标签: c multithreading reusability recycle

是否值得花时间编写代码来重用C中的线程,或者创建和销毁它们是否便宜?

我正在渲染一些只有CPU的3D图形,而且速度非常慢(看起来大约是5 fps)。我尝试使用线程来解决这个问题。使用4个线程,每个线程呈现屏幕条带,似乎将我的帧速率提升到非常合理和平滑的状态。我仍然担心当我使图形更复杂时会发生什么。通过重复使用我的线程而不是每帧都创建和销毁它们,我能获得任何明显的速度提升吗?

编辑:我正在使用的操作系统是Windows。

2 个答案:

答案 0 :(得分:3)

由于1个线程你有大约5个fps,大概有4个线程,你得到大约20 fps的某个地方?那么,如果你不保留它们,你将每秒创建和销毁80多个线程?线程相当轻巧,但我认为你会开始注意到这么多开销。

答案 1 :(得分:1)

你将消除相当多的开销和延迟,是的。 TBH,我无法理解为什么这么多的开发人员开始不断创建和销毁线程 - 这是低效,困难,容易发生泄漏和其他灾难。