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

线程池面试题_动态线程池线程池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)
上一篇 2026年3月10日 下午11:01
下一篇 2026年3月10日 下午11:43


相关推荐

  • 微信自动回复机器人使用手册怎么设置_自动回复机器人手机版

    微信自动回复机器人使用手册怎么设置_自动回复机器人手机版微信也能自动回复啦?没错,微信自动回复机器人正式上线了!今天勤劳的小编就整理了一份微信自动回复机器人的使用手册,希望对小伙伴们有所帮助。工具米云微信自动回复机器人下载/安装登录www.miyunchuanmei.com网站,下载安装Microsoft.NetFramework4.5,,下载安装米云微信自动回复机器人。登陆微信输入账号和密码,点击“登陆”按钮,即可完成登…

    2022年10月1日
    5
  • Postman教程大全「建议收藏」

    Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件Postman背景介绍用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网页基本信息,它还可以发送几乎所有类型的HTTP请求!Postman在发送网络HTTP请求方面可以说是Chrome插件类产品中的代表产品之一。Postman的操

    2022年4月6日
    49
  • SQL索引创建原则、创建与删除示例

    SQL索引创建原则、创建与删除示例一 索引创建原则 表的主键 外键必须有索引 数据量超过 300 的表应该有索引 经常与其他表进行连接的表 在连接字段上应该建立索引 经常出现在 Where 子句中的字段 特别是大表的字段 应该建立索引 索引应该建在选择性高的字段上 索引应该建在小字段上 对于大的文本字段甚至超长字段 例如数据类型为 text 或 ntext 的字段 不要建索引 频繁进行数据操作的表 不要建立太多的索引 删除无用的索

    2026年3月26日
    0
  • Linux配置浮动IP

    Linux配置浮动IP在高可用集群环境中 一般都需要使用浮动 IP 来实现 web 高可用 HighAvailabi 浮动 IP 的概念以及为什么需要浮动 IP 请参考 https blog csdn net readiay article details 本篇文章主要讲实际操作步骤 可以是双机 也可以是多机 主服务器为 10 xx 1 22 从服务器为 10 xx 1 23 浮动 IP 设置为 10

    2026年3月19日
    2
  • Windows安装git图文教程

    Windows安装git图文教程Windows 下安装 git 超详细图文教程

    2026年3月18日
    1
  • 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 1)

    机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 1)https github com ty4z2008 Qix blob master dl md 机器学习 MachineLearn amp 深度学习 DeepLearning 资料 Chapter1 注 机器学习资料篇目一共 500 条 篇目二开始更新希望转载的朋友 你可以不用联系我 但是一定要保留原文链接 因为这个项目还在继续也在不定期更新 希望看到文章的朋友能够

    2026年3月26日
    2

发表回复

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

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