我在 windows-XP 下用 C 语言编写一个多线程应用程序。我正在寻找一种方法来运行一个函数,就在应用程序线程之间的每次上下文切换之后(并且就在新线程开始之前)。更准确地说,我想在某个内存地址中分配一个不同的值,具体取决于我进入的线程。
有什么建议么?
我在 windows-XP 下用 C 语言编写一个多线程应用程序。我正在寻找一种方法来运行一个函数,就在应用程序线程之间的每次上下文切换之后(并且就在新线程开始之前)。更准确地说,我想在某个内存地址中分配一个不同的值,具体取决于我进入的线程。
有什么建议么?
在每次上下文切换后立即运行一个函数
这从一开始就注定了:你无法控制上下文切换。如果刚刚调用您的函数时操作系统切换会发生什么?然后转回来?又一次处决?
如果您想要的只是为每个线程提供具有特定内容的变量,请按照其他建议查看线程本地存储。
如果您需要对子流程计算和调度进行细粒度和绝对控制,请使用fiber。但这不是你轻松做的事情......