线程优先级和函数执行时间

时间:2012-01-18 08:10:23

标签: multithreading visual-studio-2008 c++-cli execution-time

我有一个函数让我们称之为foo(),它对矩阵执行一些操作。 如果我在控制台应用程序中调用该函数,则需要1秒才能返回结果。 如果我在Windows窗体应用程序中调用它(按钮单击,启动一个新线程,从线程调用foo()),该函数需要3秒才能返回。具有相同的输入,显然相同的输出。 我认为这是因为处理Windows窗体的线程仍处于活动状态,如何阻止它,或者减慢它的优先级?

1 个答案:

答案 0 :(得分:1)

我真的不明白你为什么要杀死表单事件线程。这会使您的应用程序无法使用。该线程无论如何都没有运行计算密集型任务,它正在等待表单上的事件,因此将优先级设置为低可以获得很少的收益。

请详细说明您测量线程完成所需的时间。与启动/停止线程相关的某些开销不会出现在控制台应用程序中。