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

做全景图二维码的网站网站推广 扬州

做全景图二维码的网站,网站推广 扬州,在wordpress中 怎么把主题删掉,网站外链数怎么查本文我们不用定时器。定时器会阻塞消息循环。先看需求#xff1a; 我们先看第一种#xff0c;有一个任务#xff0c;要求每1秒钟执行一次#xff0c;最常见的写法如下两种 bool bExitThread false; DWORD WorkThread1(LPVOID param) {while (false bExitThread){//// to…本文我们不用定时器。定时器会阻塞消息循环。先看需求 我们先看第一种有一个任务要求每1秒钟执行一次最常见的写法如下两种 bool bExitThread false; DWORD WorkThread1(LPVOID param) {while (false bExitThread){//// to-do 这里是执行任务的具体代码//Sleep(1000);}return 0; } 或者如下 HANDLE hEventExit ::CreateEvent(NULL, FALSE, FALSE, _T(hEventExit));DWORD WorkThread1(LPVOID param) {while (false bExitThread){DWORD nRet ::WaitForSingleObject(hEventExit, 1000);if (WAIT_TIMEOUT ! nRet){break;}////to-do 执行任务具体代码//}return 0; } 勉强可以用了但是有明显缺点是当软件要退出时必须等待该线程1秒钟非常不实时。无法完成快速响应退出。很致命啊。 于是有了改进的写法如下两种 DWORD WorkThread2(LPVOID param) {while (false bExitThread){//// to-do 这里是具体代码//for (int i 0; i 100; i){Sleep(10);if (bExitThread)break;}}return 0; }或者如下 HANDLE hEventExit ::CreateEvent(NULL, FALSE, FALSE, _T(hEventExit));DWORD WorkThread1(LPVOID param) {DWORD nCount 0;while (false bExitThread){DWORD nRet ::WaitForSingleObject(hEventExit, 10);if (WAIT_TIMEOUT ! nRet){break;}nCount;if (0 nCount % 100){////to-do 执行任务具体代码//}}return 0; } 不得不说这两种改进方式的确做到了1秒钟执行1次任务也能做到当软件退出时能极快速的退出该线程。不得不说这种化整为零的好方式比前面第一种好了许多甚至你可以直接把睡眠或等待改成1毫秒就可以达到更低时延的快速退出线程。 但是假如需求做一下调整但有多个任务比如3个任务需要执行而且 任务1必须保证每1秒钟要执行一次(耗时忽略不计) 任务2必须保证每2秒钟要执行一次(耗时忽略不计) 任务3必须保证每3秒钟要执行一次(耗时忽略不计) (不准使用定时器N个定时器定时器会导致一顿一顿的也不准开N个定时器再在里面各开1个线程), 我们怎么做到保证N个任务按如上要求执行还要能保证退出时线程能最快的退出。 事实上这才是我们现实需求中最最常见的。这个时候同样也可以用化整为零的多次Sleep或WaitForSingleObject来完成。比如如下巧用nCount计数来完成 HANDLE hEventExit ::CreateEvent(NULL, FALSE, FALSE, _T(hEventExit));DWORD WorkThread3(LPVOID param) {bool bSet false;DWORD nCount 0;while (false bExitThread){DWORD nRet ::WaitForSingleObject(hEventExit, 1);if (WAIT_TIMEOUT ! nRet){break;}nCount;if (0 nCount % 1000){//// to-do Task1//}if (0 nCount % 2000){//// to-do Task2//}if (0 nCount % 3000){//// to-do Task3//}}return 0; } 显然是达到了多个任务都可以按照指定的时间间隔频次执行而且还能做到软件退出时该线程也能快速的退出。 但假如需求再变一下只准开一个线程3个任务需求同上但是每个任务执行耗时不可忽略任务执行耗时1秒却不可中断。这个时候我们如何做到软件退出时最快的退出呢 显然软件正好退出时可能该线程刚好进入任务N执行执行1秒耗时不可中断必然需要等待。 显然这个时候需要做到快速优雅的退出就比较困难了。如果实在不想等待1秒的话我们可以直接PauseThread或TerminateThread来暂停或打断该线程的执行然后退出软件。这也不失是一种快速响应退出线程的好方法了。 虽然可以做到快速退出了但是有一个需求是没有满足的那就是 每隔1秒执行一次Task1每隔2秒执行一次Task2每隔3秒执行一次Task3 为什么呢因为这种方式有个弊端当第2秒时Task1执行耗时1秒它占了1秒导致了Task2往后延了1秒执行当第3秒时Task2Task3依次又顺延了许多秒并没有达到需求。所以这个时候只准开1个线程就很难实时满足需求了。只能改成开3个线程单独去处理了。 搁笔。如有疑问站内信联系
http://www.w-s-a.com/news/290059/

相关文章:

  • 西部数码域名网站模板网站建设怎么管理业务员
  • o2o手机维修网站那个公司做的电子网站风格设计
  • 网站建设预算计算方法什么是网络营销战略?网络营销战略有哪些基本类型
  • 无锡做网站公司多少钱网站备案方法
  • 建设网站最强做网站哪一家公司好
  • 漫画风格网站人物介绍网页模板html
  • 贵阳市住房和城乡建设局政务网站大连 网站开发
  • 漳州市住房建设局网站网站一般多长
  • 国外做网站推广小程序制作二维码签到
  • 做网站需要域名网站建设诚信服务
  • 做物品租赁网站网站建设的完整流程
  • 响应式企业网站开发所用的平台西安知名网站推广
  • 高端响应式网站建设wordpress 全屏主题
  • 国内工程机械行业网站建设现状ui是什么意思
  • 成都网站开发哪家公司好出售家教网站模板
  • 订阅号做流量 那些电影如何链接网站温州市建设监理协会网站
  • 成都网站建设成功案例单招网商丘网站建设大全
  • 受欢迎的购物网站建设网推专员是做什么的
  • 商城网站前期准备湖南郴州建设局网站
  • 企业如何在自己的网站上做宣传外贸自建站可以自己做网站吗
  • 甘肃网站建设制作商网站空间哪家公司的好
  • 思途旅游网站建设系统用vscode做网站
  • 广州站改造最新消息半年工作总结ppt模板
  • logo模板下载网站推荐哪家网站开发培训好
  • 做外贸网站效果图页面关键词优化
  • 广平网站建设成都活动轨迹
  • 小型网站网站建设需要网络公司是什么行业
  • 滑动 手机网站 代码网页制作与设计讨论
  • 自己做网站处理图片用什么软件wordpress html5支持
  • 校园网站怎么建软文文案范文