普通任务线程池

发布时间:2020-07-23 16:18:19 作者:Chinayu2014
来源:网络 阅读:700
#include <strsafe.h>
TCHAR pOutBuf[1024] = {};
#define PRINTF(...) \
    StringCchPrintfW(pOutBuf,1024,__VA_ARGS__);\
    WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE),pOutBuf,lstrlen(pOutBuf),NULL,NULL);

DWORD WINAPI  ThreadPoolProc(LPVOID lparam)
{
	long * p = (long *)lparam;
	while (true)
	{
		Sleep(300);
		CString str;
		InterlockedIncrement(p);//原子相加
		PRINTF(_T("当前线程ID:%d  输出值:%d \n"), GetCurrentThreadId(),*p);
	}
	return 0;
}

int main()
{
	int iWait = 0;
	wscanf_s(_T("%d"), &iWait);
	
	//创建两个线程,和CreateThread相似
	QueueUserWorkItem(ThreadPoolProc, &iWait, WT_EXECUTEDELETEWAIT);
	QueueUserWorkItem(ThreadPoolProc, &iWait, WT_EXECUTEDELETEWAIT);

	getchar();
	getchar();
	
	return 0;
}


推荐阅读:
  1. 基于SmartThreadPool线程池技术实现多任务批量处理
  2. linux中普通用户的定时任务详解

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

线程池

上一篇:在jupyter中添加文件的方法

下一篇:oracle标量子查询

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》