2013-02-28 39 views
0

我正在使用windows-XP编程一个C语言的多线程应用程序。 我正在寻找一种方法来运行一个函数,在每个应用程序的线程之间进行上下文切换(并且在新线程启动之前)。 更确切地说,我想在某个内存地址中分配一个不同的值,具体取决于我所进入的线程。在每个上下文切换后立即运行一个函数,在windows下运行windows-XP

有什么建议吗?

+3

您正在寻找线程本地存储? – FatalError 2013-02-28 06:59:37

回答

1

运行功能之后每个上下文切换

这事从一开始就注定了:你没有对上下文切换控制。如果操作系统在刚刚调用函数时切换,会发生什么情况?然后切换回来?另一个执行?

如果你要的只是具有对每个线程特定内容的变量,看看线程本地存储,或其他建议的内容。

如果你需要的是精细和过子过程的计算和调度的绝对控制权,使用fibers。但是,这是不是你用轻心脏做某事

+0

+1是的 - 听起来像是一个有用的功能,但没有OS支持它 - 这是有原因的! – 2013-02-28 10:23:32

+0

非常感谢您的回答。 我想我会找到解决问题的方法。 – 2013-03-05 07:01:57

相关问题