resumethread时如何传递参数?
我的子线程处理如下:
DWORD WINAPI ExcuteTask(LPVOID pvoid)
{
SOCKET sid;
sid = (SOCKET)pvoid;
while(1)
{
DWORD dwRet = WaitForSingleObject(hQuitEvent, INFINITE);
if(dwRet == WAIT_OBJECT_0)
{
break;//收到退出事件
}
//在这里我对Socketid接收数据,处理完毕后发送回去
SuspendThread(::GetCurrentThreadId());
}
return TRUE;
}
创建时可以把Socketid通过参数传递进去,但唤醒时就不行了.
唤醒此线程时用的是ResumeThread(hThread), 我怎么把Socketid传递进去? 是不是可以用临界区?
DWORD WINAPI ExcuteTask(LPVOID pvoid)
{
SOCKET sid;
sid = (SOCKET)pvoid;
while(1)
{
DWORD dwRet = WaitForSingleObject(hQuitEvent, INFINITE);
if(dwRet == WAIT_OBJECT_0)
{
break;//收到退出事件
}
//在这里我对Socketid接收数据,处理完毕后发送回去
SuspendThread(::GetCurrentThreadId());
}
return TRUE;
}
创建时可以把Socketid通过参数传递进去,但唤醒时就不行了.
唤醒此线程时用的是ResumeThread(hThread), 我怎么把Socketid传递进去? 是不是可以用临界区?
...全文
相关推荐
让程序自动管理线程的代码VC源代码
通过`testmanagerthread`这个文件,我们可以进一步了解`ThreadManager`类的实现细节,包括如何实例化线程、如何传递参数、如何进行线程间通信,以及如何处理线程间的协作。
线程详解 VC++经典讲解
它接受参数如线程安全属性、堆栈大小、线程入口点函数地址、传递给线程的参数、创建标志等。
操作系统实验-线程的创建和撤消.pdf
LPVOID lpParameter,DWORD dwCreationFlags,LPDWORD lpThreadId);其中,lpStartAddress 是线程的入口点函数,lpParameter 是传递给线程的参数
汇编语言实验8-多线程.doc
- lpParameter:传递给线程的上下文。可以是一个整数,或者一个指向某个结构的指针,通过 lpParameter 将参数传递给线程。
VB创建多线程应用程序[收集].pdf
在VB中创建线程需要使用CreateThread函数,该函数需要传入多个参数,如线程属性、堆栈大小、函数入口地址、参数等。该函数将返回一个线程句柄,可以用于控制线程的运行。


进程/线程/DLL
