Worker线程使用消息循环

这个示例代码展示了如何在Win32环境中创建一个带有自己消息队列但没有窗口的worker线程。主线程通过PostThreadMessage发送WM_JOB_开头的消息,worker线程根据消息类型进行不同操作,如正向打印、反向打印和转换为小写等。
摘要由CSDN通过智能技术生成
/*
 * Worker.cpp
 *
 * Sample code for "Multithreading Applications in Win32"
 * This is from Chapter 14, Listing 14-3
 *
 * Demonstrate using worker threads that have
 * their own message queue but no window.
 */
 
#define WIN32_LEAN_AND_MEAN
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <process.h>
#include <string.h>
#include "MtVerify.h"

unsigned WINAPI ThreadFunc(void* p);

HANDLE ghEvent;

#define WM_JOB_PRINT_AS_IS          WM_APP + 0x0001
#define WM_JOB_PRINT_REVERSE        WM_APP + 0x0002
#define WM_JOB_PRINT_LOWER          WM_APP + 0x0003
#define WM_LEIWEI					WM_APP + 0x0004
int main(VOID) 
{ 
    HANDLE hThread;
    unsigned tid;

    // Give the new thread something to talk
    // to us with.

	//创建手动事件

    ghEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
	unsigned CurrentId = GetCurrentThreadId();

	UNREFERENCED_PARAMETER(CurrentId);

    hThread &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值