线程问题!
我想用beginthreadex()在进程开始就已经创建好,然后等要用的时候再执行,但创建时要指定函数和所传参数,如果指定的话就会在创建时就执行,但我想等想用的时候再执行,并且在想用的时候之前才确定好所传参数,也就是像线程池的样子,请问有什么方法可以解决?
并且我用windows提供的QueueUserWorkItem()时 ,告诉我“无法解析的外部符号”我已经 加了头文件 <winbase.h> 和 <windows.h> 库也植入了Kernel32,怎么还是不行?
急需要高手!!!!
[解决办法]
#define _WIN32_WINNT 0x0500
[解决办法]
uintptr_t _beginthreadex(
void *security,
unsigned stack_size,
unsigned ( *start_address )( void * ),
void *arglist,
unsigned initflag,//指定CREATE_SUSPENDED 就行了
unsigned *thrdaddr
);
想运行的话
resumethread( beginthreadex的返回值 )
参数的动态变化完全不用线程池
可以传递一个指针作为参数,执行线程里读取指向的内容,初始化线程里则设定这块内容。
[解决办法]
#define _WIN32_WINNT 0x0500
放到stdafx.h里面去
[解决办法]
_beginthreadex需要在工程设置中使用多线程版本的c运行时库