当前位置: 首页 > news >正文

网站改版中建立健全长效机制

网站改版中,建立健全长效机制,网店关键词怎么优化,有哪个理财网站是专门做汽车抵押的目录 1、CreateSemaphore 2、ReleaseSemaphore 3、CreateEvent 4、SetEvent 5、WaitForSingleObject 程序案例1#xff1a; 程序案例2#xff1a; 1、CreateSemaphore 创建一个计数信号量对象#xff0c;成功时返回信号量对象的句柄#xff1b;失败时返回NULL…  目录 1、CreateSemaphore 2、ReleaseSemaphore 3、CreateEvent 4、SetEvent 5、WaitForSingleObject 程序案例1 程序案例2 1、CreateSemaphore 创建一个计数信号量对象成功时返回信号量对象的句柄失败时返回NULL HANDLE CreateSemaphore(LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, // 安全属性LONG lInitialCount, // 初始计数LONG lMaximumCount, // 最大计数LPCTSTR lpName // 信号量的名字 );lpSemaphoreAttributes指向 SECURITY_ATTRIBUTES 结构的指针确定信号量的安全性。可以设置为 NULL。lInitialCount信号量的初始计数值。lMaximumCount信号量的最大计数值。lpName信号量的名字。可以设置为 NULL表示没有名字。 2、ReleaseSemaphore 增加信号量的计数值。成功时返回非零值失败时返回 0。 BOOL ReleaseSemaphore(HANDLE hSemaphore, // 信号量的句柄LONG lReleaseCount, // 释放的计数值LPLONG lpPreviousCount // 指向存储原始计数的变量的指针 );hSemaphore信号量的句柄。lReleaseCount增加的计数值。lpPreviousCount指向存储增加前的计数值的变量的指针。可以设置为 NULL。 3、CreateEvent 创建一个事件对象用于通知线程或进程发生了特定事件。成功时返回事件对象的句柄失败时返回NULL。 HANDLE CreateEvent(LPSECURITY_ATTRIBUTES lpEventAttributes, // 安全属性BOOL bManualReset, // 是否手动重置事件BOOL bInitialState, // 初始状态LPCTSTR lpName // 事件的名字 );lpEventAttributes指向 SECURITY_ATTRIBUTES 结构的指针确定事件的安全性。可以设置为 NULL。bManualReset指定事件是否需要手动重置。如果为 TRUE则必须手动重置事件如果为 FALSE则系统会自动重置事件。bInitialState事件的初始状态。如果为 TRUE事件在创建时为有信号状态如果为 FALSE为无信号状态。lpName事件的名字。可以设置为 NULL表示没有名字。 4、SetEvent 设置事件对象为有信号状态。成功时返回非零值失败时返回 0。 BOOL SetEvent(HANDLE hEvent);hEvent事件对象的句柄。 5、WaitForSingleObject 等待一个对象的状态变为有信号状态或者等待超时。 DWORD WaitForSingleObject(HANDLE hHandle, // 对象的句柄DWORD dwMilliseconds // 超时时间单位为毫秒 );参数 hHandle对象的句柄例如信号量或事件。dwMilliseconds等待的超时时间。如果设置为 INFINITE则表示无限等待直到对象变为有信号状态。 返回值 WAIT_OBJECT_0对象变为有信号状态。WAIT_TIMEOUT超时。WAIT_FAILED函数失败。 程序案例1 以下程序实现功能 四个保存图像的线程  一个信息发送的线程 当四个保存图像的线程都执行完毕之后发送一次信号 #include iostream #include thread #include Windows.h #include vectorusing namespace std;HANDLE steel_signal_end; // 用于通知主线程所有图像保存完成的事件 HANDLE semaphore; // 用于计数已完成图像保存的线程数void save_image(int idex) {while (true) {Sleep(6000);// 如果是最后一个完成保存的线程设置事件LONG previous_count;// ReleaseSemaphore:信号量的句柄、增加的计数值、指向存储增加前的计数值的变量的指针// 增加的计数值:函数中设为了1if (ReleaseSemaphore(semaphore, 1, previous_count) previous_count 1 4) {cout idex 最后完成 endl;SetEvent(steel_signal_end);}}}void send_message() {const int total_threads 4;// 创建手动重置事件初始状态为非触发状态steel_signal_end CreateEvent(NULL, TRUE, FALSE, NULL); // 安全属性、是否手动重置事件、初始状态、事件的名字// 创建计数信号量初始计数为0最大计数为total_threadssemaphore CreateSemaphore(NULL, 0, total_threads, NULL); // 安全属性、初始计数、最大计数、信号量的名字while (true) {cout 等待信号触发 endl;// 主线程等待所有图像保存完成WaitForSingleObject(steel_signal_end, INFINITE);CloseHandle(semaphore);semaphore CreateSemaphore(NULL, 0, total_threads, NULL);cout 一个批次完成 endl;// 重置事件以准备下一批图像的保存ResetEvent(steel_signal_end);} }int main() {vectorstd::thread threads;for (unsigned int i 0; i 3; i) {threads.emplace_back(save_image, i);}threads.emplace_back(send_message);for (auto t : threads) {t.join();}return 0; } 程序案例2 只使用计数信号量进行控制 #include iostream #include thread #include Windows.h #include vectorusing namespace std;HANDLE semaphore; void save_image() {while (true) {Sleep(5000);ReleaseSemaphore(semaphore, 1, NULL);} }void send_message() {semaphore CreateSemaphore(NULL, 0, 1, NULL); // 安全属性、初始计数、最大计数、信号量的名字while (true) {cout 等待信号触发 endl;WaitForSingleObject(semaphore, INFINITE);cout 保存一次图片 endl;} }int main() {vectorstd::thread threads;threads.emplace_back(send_message);threads.emplace_back(save_image);for (auto t : threads) {t.join();}return 0; }
http://www.dnsts.com.cn/news/104822.html

相关文章:

  • 苏州企业网站建站fullpage网站怎么做
  • 大望路网站制作能自己做的ppt网站
  • 家具设计师要学哪些软件优化关键词哪家好
  • 做网站一般有什么题目广州一起做网店官网app
  • 网站 建设在作用是什么网站项目建设策划方案
  • 设计网站作品wordpress的支付插件
  • 网站开发的进度控制计划表门户类网站如何做策划
  • 大学生商品网站建设怎样理解网站建设与开发这门课
  • 上海专业微信网站建设wordpress无头像昵称评论
  • 做网站怎么选择服务器中铁建设集团集网登录
  • asp网站编辑教程温州网站制作公司
  • 营销型网站制作步骤五个百度导航下载2021最新版
  • 门户网站建设 请示手机wap网站cms源码
  • 贸易网站模板erp系统有哪些功能模块
  • 中国建设银行网站下载cg资源网
  • 厦门国外网站建设公司排名青海公路建设信用信息服务网站
  • 网站建设与优化推广的话术o2o网站建设最好公司
  • 简单的美食网站模板免费下载怎么做链接网站
  • 南安市网站建设青岛网站seo
  • 免费手机网站平台注册饮食网站开发需求
  • 如果在工商局网站上做股权质押如何在网站上做社交的链接
  • 做阿里巴巴类似的网站网站后台如何上传ico图标
  • 做个网站需要什么设备技术培训ui设计
  • 网站搭建教学网那个网站教你做毕设的
  • 青海省建设厅职业注册官方网站阳江房产网二手房出售
  • 江苏响应式网站建设哪里有seo厂商
  • 公司网站建设业务文案福建省建设工程信息网站
  • 网站如何换空间wordpress移动端分享插件
  • 移动端网站建设服务商学什么可以做网站
  • 购物网站开发历史湖南环达公路桥梁建设总公司网站