关于线程函数 - C++ Builder / Windows SDK/API
请教一下,如何在开启线程之后变更该线程要运行的线程函数?
[解决办法]
这个可以么???
[解决办法]
如果可以程序不就乱了吗?
[解决办法]
一般是先指向一个固定函数,在这个函数内再调用一个函数指针,这个函数指针可以进行修改成其它函数。
线程池都是这么用的。
[解决办法]
线程池
[解决办法]
给你个思路可以用回调函数,要改变函数的时候注入一个新的回调。
[解决办法]
修改线程函数?
如果想实现不同功能的话,用PostThreadMessage就行了
线程函数中写个消息循环
MSG msg;
while(1)
{
if( PeekMessage( &msg, NULL, 0, 0, PM_NOREMOVE ) )
{
if(GetMessage( &msg, NULL, 0, 0 ) )
{
if (msg.message == WM_USER + 1)
func1();
else if (msg.message == WM_USER + 2)
func2();
根据不同的msg调用不同的函数就行了