我正在使用windows-XP编程一个C语言的多线程应用程序。 我正在寻找一种方法来运行一个函数,在每个应用程序的线程之间进行上下文切换(并且在新线程启动之前)。 更确切地说,我想在某个内存地址中分配一个不同的值,具体取决于我所进入的线程。在每个上下文切换后立即运行一个函数,在windows下运行windows-XP
有什么建议吗?
我正在使用windows-XP编程一个C语言的多线程应用程序。 我正在寻找一种方法来运行一个函数,在每个应用程序的线程之间进行上下文切换(并且在新线程启动之前)。 更确切地说,我想在某个内存地址中分配一个不同的值,具体取决于我所进入的线程。在每个上下文切换后立即运行一个函数,在windows下运行windows-XP
有什么建议吗?
运行功能之后每个上下文切换
这事从一开始就注定了:你没有对上下文切换控制。如果操作系统在刚刚调用函数时切换,会发生什么情况?然后切换回来?另一个执行?
如果你要的只是具有对每个线程特定内容的变量,看看线程本地存储,或其他建议的内容。
如果你需要的是精细和过子过程的计算和调度的绝对控制权,使用fibers。但是,这是不是你用轻心脏做某事
+1是的 - 听起来像是一个有用的功能,但没有OS支持它 - 这是有原因的! – 2013-02-28 10:23:32
非常感谢您的回答。 我想我会找到解决问题的方法。 – 2013-03-05 07:01:57
您正在寻找线程本地存储? – FatalError 2013-02-28 06:59:37