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

做网站导航多大字号网站制图软件

做网站导航多大字号,网站制图软件,网站维护有啥用,wordpress宾馆模板今天#xff0c;在C的基础上来进行提升#xff0c;学习VC多线程编程。 线程#xff1a;是为了提高系统内程序的并发执行程度而提出来的概念#xff0c;他是比进程更小的能独立运行的基本单位。 线程的组成#xff1a; 线程的内核对象#xff1a;操作系统用它来对线程实施…今天在C的基础上来进行提升学习VC多线程编程。 线程是为了提高系统内程序的并发执行程度而提出来的概念他是比进程更小的能独立运行的基本单位。 线程的组成 线程的内核对象操作系统用它来对线程实施管理内核对象也是系统用来存放线程统计信息的地方。 线程栈它用于维护线程在执行代码时所需要的所有函数参数和局部变量。 创建线程的方法与区别C/C/MFC 1.CreateThread()----WIN32API函数 2._beginthreadx()----MS对C Runtime库的扩展SDK函数 3.AfxBeginThread()----MFC中创建线程的函数。 CreateThread:函数原型如下 lpThreadAttributes:指向SECURITY_ATTRIBUTES结构体指针传递为NULL让线程使用默认安全性 dwStackSize:设置线程初始化栈大小为0则默认使用与调用该函数的线程相同的栈空间大小 lpStartAddress:线程回调函数 lpParameter:参数 dwCreationnFlags:设置用于控制线程创建的附加标记值若为0线程创建之后立即运行 lpThreadId:线程ID。 #include stdafx.h #include iostream.h #include windows.h DWORD WINAPI Func(LPVOID lpParameter) {cout子线程在运行...endl;return 0; } int main(int argc, char* argv[]) {HANDLE h1;//创建线程句柄h1 CreateThread(NULL,0,Func,NULL,0,NULL);//创建线程cout主线程在运行...endl;Sleep(100);CloseHandle(h1);//关闭线程句柄return 0; } AfxBeginThread():函数原型如下 CWinThread* AfxBeginThread(AFX_THREADPROC pfnThreadProc,LPVOID pParan,int nPriorityTHREAD_PRIORITY_NORMAL,UINT nStackSize0,DWORD dwCreateFlag0,LPSECURITY_ATTRIBUTES lpSecurityAttrsNULL ); 线程终止运行最好的方式是让线程函数自动返回。 有关线程的函数 暂停DWORD SuspendThread(HANDLE hThread); 恢复DWORD ResumeThread(HANDLE hThread); 睡眠VOID Sleep(DWORD dwMilliseconds); Sleep函数可使线程资源放弃它的剩余时间片Sleep(n)系统将会在n毫秒内线程不可调度Sleep(0)告诉系统调用线程释放剩余时间片。并迫使系统重新调度线程。 切换BOOL SwicthToThread(VOID);与Sleep(0)相似不同之处在于允许优先级较低的线程运行。 线程同步当有多个线程访问共享资源而不使资源被破坏时或当一个线程需要将某个任务已经完成的情况通知另外一个线程时需要使用线程同步机制。 线程同步的方法 临界区同步临界区是指包含共享资源的一段代码块 内核同步信号量、互斥量、事件。 以下代码列出了临界区同步与互斥量同步。 #include stdafx.h #include windows.h #include iostream.h DWORD WINAPI Func1(LPVOID lpPraam); DWORD WINAPI Func2(LPVOID lpParam); //定义全局变量 int count1000; //定义临界区 CRITICAL_SECTION cs; //定义互斥对象句柄 HANDLE hMutex; int main(int argc, char* argv[]) {//初始化临界区------1InitializeCriticalSection(cs);//创建互斥对象------2hMutex CreateMutex(NULL,FALSE,NULL);//创建两个线程HANDLE h1 CreateThread(NULL,0,Func1,NULL,0,NULL);HANDLE h2 CreateThread(NULL,0,Func2,NULL,0,NULL);//等待线程结束WaitForSingleObject(h1,INFINITE);WaitForSingleObject(h2,INFINITE);//释放临界区DeleteCriticalSection(cs);//关闭互斥量句柄CloseHandle(hMutex);//关闭线程句柄CloseHandle(h1);CloseHandle(h2);return 0; } //线程1回调函数 DWORD WINAPI Func1(LPVOID lpPraam) {while (TRUE){if(count0){//进入临界区//EnterCriticalSection(cs);WaitForSingleObject(hMutex,INFINITE);cout线程1count--endl;//离开临界区//LeaveCriticalSection(cs);ReleaseMutex(hMutex);}else{break;}}return 0; } //线程2回调函数 DWORD WINAPI Func2(LPVOID lpPraam) {while (TRUE){if(count0){//EnterCriticalSection(cs);WaitForSingleObject(hMutex,INFINITE);cout线程2count--endl;//LeaveCriticalSection(cs);ReleaseMutex(hMutex);}else{break;}}return 0; } 死锁 是指两个或两个以上的进程在执行过程中因争夺资源而造成的一种互相等待的现象若无外力作用它们都将无法推进下去。
http://www.eeditor.cn/news/118835/

相关文章:

  • .net做的大型网站吗百度推广免费送网站
  • 个人建立网站中文网站排行榜
  • 网站logo名词解释广州制作外贸网站
  • 摄影网站网页设计国外有趣的网站
  • 网络系统管理属于什么专业类别seo 专业为网站建设
  • 网站建设款属于什么科目企业建站服务退役军人
  • 网站使用授权书付费资料网站开发
  • 网站备案在外地世界排行榜前十名
  • 网站建设费用初步预算建设垂直网站需要哪些流程
  • 做发包业务网站什么网站可以做任务领赏金
  • 网站开发器wordpress设置永久链接404
  • 免费的制作网站好的网页设计网站
  • 网站建设 6万元惠州市网站建设
  • 专业创建网站做网站用的主机
  • 如何将自己做的网站放到网上去广州市网站建站
  • 广东省网站备案查询铁岭网站建设公司
  • 网站建设管理与维护免费ppt模板下载第一ppt
  • 可以做商城网站的公司海外跨境电商平台排行榜前十名
  • 服装做外贸的网站建设保定市城市规划建设局网站
  • 网站建设合同包含什么企业申请域名
  • 大型电子商务网站建设公司陕西公司网站建设
  • 青岛关键词网站排名一个网站建设花了10万元
  • 网站开发职业资格证书wordpress搜索框删除
  • 网站页面布局优化广州seo顾问
  • 深圳做棋牌网站建设多少钱深圳网络推广哪家公司好
  • 设计成功一个电子商务网站吴江微信网站制作
  • 广州企业如何建网站华为云企业邮箱登录入口
  • 个人可以做网站么莱芜在线话题凤城高中
  • 给个网站做导航违法吗校园网二级网站的建设
  • 设计接单网站大全宁波seo哪家最便宜