线程池面试题_动态线程池

线程池面试题_动态线程池线程池QueueUserWorkItem

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

  1. // Test1.cpp : Defines the entry point for the console application.  
  2. //  
  3.   
  4. #include “stdafx.h”  
  5. #include <assert.h>  
  6. #include <Windows.h>  
  7.   
  8. DWORD WINAPI TestThreadPool(PVOID pContext);  
  9.   
  10. CRITICAL_SECTION g_cs;  
  11.   
  12. int _tmain(int argc, _TCHAR* argv[])  
  13. {  
  14.     InitializeCriticalSection(&g_cs);  
  15.     SECURITY_ATTRIBUTES sa;  
  16.     sa.bInheritHandle = TRUE;  
  17.     sa.nLength = sizeof(SECURITY_ATTRIBUTES);  
  18.     sa.lpSecurityDescriptor = NULL;  
  19.   
  20.     HANDLE hSemaphore = CreateSemaphoreW(&sa, 0 ,1, L“jyytet”);   
  21.   
  22.     for (int i = 0; i < 10; i++)  
  23.     {  
  24.         QueueUserWorkItem(TestThreadPool, L“Hello World”, WT_EXECUTEDEFAULT);  
  25.     }  
  26.     QueueUserWorkItem(TestThreadPool, L“Finish”, WT_EXECUTEDEFAULT);  
  27.   
  28.     WaitForSingleObject(hSemaphore, -1);  
  29.     CloseHandle(hSemaphore);  
  30.     hSemaphore = NULL;   
  31.     DeleteCriticalSection(&g_cs);  
  32.   
  33.     wprintf(L“Game over /r/n”);  
  34.   
  35.     getchar();  
  36.   
  37.     return 0;  
  38. }  
  39.   
  40. DWORD WINAPI TestThreadPool(PVOID pContext)  
  41. {  
  42.     if (NULL == pContext)  
  43.         return 0;  
  44.   
  45.     EnterCriticalSection(&g_cs);  
  46.     wchar_t *pPrintf = (wchar_t *) pContext;  
  47.     wprintf(L“%s /r/n”, pPrintf);  
  48.     Sleep(1000);  
  49.   
  50.     if (wcscmp(pPrintf, L“Finish”) == 0)  
  51.     {  
  52.         HANDLE hSemaphore = OpenSemaphoreW(SEMAPHORE_ALL_ACCESS, FALSE,  L“jyytet”);  
  53.         assert(hSemaphore !=  NULL);  
  54.         ReleaseSemaphore(hSemaphore, 1, NULL);  
  55.         CloseHandle(hSemaphore);  
  56.     }  
  57.     LeaveCriticalSection(&g_cs);  
  58.   
  59.     return 1;  
  60. }  

// Test1.cpp : Defines the entry point for the console application.//#include “stdafx.h”#include <assert.h>#include <Windows.h>DWORD WINAPI TestThreadPool(PVOID pContext);CRITICAL_SECTION g_cs;int _tmain(int argc, _TCHAR* argv[]){ InitializeCriticalSection(&g_cs); SECURITY_ATTRIBUTES sa; sa.bInheritHandle = TRUE; sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.lpSecurityDescriptor = NULL; HANDLE hSemaphore = CreateSemaphoreW(&sa, 0 ,1, L”jyytet”);  for (int i = 0; i < 10; i++) {  QueueUserWorkItem(TestThreadPool, L”Hello World”, WT_EXECUTEDEFAULT); } QueueUserWorkItem(TestThreadPool, L”Finish”, WT_EXECUTEDEFAULT); WaitForSingleObject(hSemaphore, -1); CloseHandle(hSemaphore); hSemaphore = NULL;  DeleteCriticalSection(&g_cs); wprintf(L”Game over /r/n”); getchar(); return 0;}DWORD WINAPI TestThreadPool(PVOID pContext){ if (NULL == pContext)  return 0; EnterCriticalSection(&g_cs); wchar_t *pPrintf = (wchar_t *) pContext; wprintf(L”%s /r/n”, pPrintf); Sleep(1000); if (wcscmp(pPrintf, L”Finish”) == 0) {  HANDLE hSemaphore = OpenSemaphoreW(SEMAPHORE_ALL_ACCESS, FALSE,  L”jyytet”);  assert(hSemaphore !=  NULL);  ReleaseSemaphore(hSemaphore, 1, NULL);  CloseHandle(hSemaphore); } LeaveCriticalSection(&g_cs); return 1;}

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189677.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 电商项目数据库表的学习及数据库表结构设计

    电商项目数据库表的学习及数据库表结构设计数据库表知识的学习查阅了许多资料,也看了许多此类的文章与得到了老师的教导;总结出以下结论:表中的id字段不用加上表名,直接写id就好了。 表中一般不使用驼峰式命名,用“_”连接就好了,单词多的黏一起就好。 一般表中除了id字段还要存在以下基本字段 字段注释尽量要大写 表里一般写完id后是标题,再是关联的某个表id之类 当出现多对多关系时,就要做个处理不能直接两表关联;有两种方式:一是创建一个中间表;二是一个表id和需关联的表id常见的电商数据库表结构 横幅表(用于自动展示图片).

    2022年9月3日
    2
  • python 0o_python中0o1010是多少

    python 0o_python中0o1010是多少python0o1010是多少?它以0开头,满足八进制的要求,是个八进制的数,下面来了解一下整数的四种表现形式:对于整数:有四种表现形式二进制:0,1满2进1八进制:0-7满8进1,用0开头表示十进制:0-9满10进1十六进制:0-9,A-F满16进1,用0x表示位(bit):存储信息的最小单位,表示一个二进制数字。字节(Byte):一个字节由8位二进制数字组成(1Byte=8bit)…

    2022年6月24日
    39
  • java手机号正则表达式验证,面试必会「建议收藏」

    java手机号正则表达式验证,面试必会「建议收藏」什么是Arthas?Arthas是一款开源在线诊断工具,采用命令行交互模式,支持web端在线诊断,同时提供丰富的Tab自动补全功能,进一步方便进行问题的定位和诊断。这是一款开源一年多GitHubstar2万,99%的阿里研发小哥都在用的Java终极诊断利器!相对比直接下载使用,我推荐开发者可以试一下通过IDE插件CloudToolkit中使用Arthas来实现一键远程诊断功能。得益于Arthas强大且丰富的功能,让Arthas能做的事情超乎想象。下面仅仅列举几

    2022年9月17日
    0
  • Kubernetes 针对资源紧缺处理方式的配置

    Kubernetes 针对资源紧缺处理方式的配置

    2021年6月18日
    68
  • js判断数组中是否包含某个元素_js判断是否在数组中存在

    js判断数组中是否包含某个元素_js判断是否在数组中存在方法1:arr.indexOf(element):判断数组中是否存在某个值,如果存在,则返回数组元素的下标(第一个元素),否则返回-1;letfruits=[“Banana”,”Orange”,”Apple”,”Mango”]leta=fruits.indexOf(“Apple”)console.log(a)//2方法2:array.includes(searcElement[,fromIndex]):判断数组中是否存在某个值,如果存在返回true,否则返回false;l

    2022年10月19日
    0
  • 卡巴斯基引领2019工控安全升级,开创智能+新未来「建议收藏」

    卡巴斯基引领2019工控安全升级,开创智能+新未来「建议收藏」2019年6月19日下午,2019工控安全态势暨卡巴斯基、京东方科技集团股份有限公司(以下简称“京东方”)与北京安渡神州科技有限公司(以下简称“安渡神州”)战略合作发布会在京举行。在全球知名信息安全厂商卡巴斯基领先安全技术的引领下,中国安全行业相关政府机构及行业组织、企事业单位领导、工控行业重要用户以及安全技术爱好者等代表共聚共享共促,本着领先科技赋能工业转型的核心原则,共同探讨未来工控安全领域新…

    2022年8月20日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号