深入浅出Win32多线程程序设计
文章平均质量分 85
lsm307742191
这个作者很懒,什么都没留下…
展开
-
WaitForMultipleObjects
WaitForMultipleObjects用法探索 WaitForMultipleObjects是Windows中的一个功能非常强大的函数,几乎可以等待Windows中的所有的内核对象(关于该函数的描述和例子见MSDN原创 2009-03-09 00:59:00 · 635 阅读 · 0 评论 -
同步 异步 阻塞 非阻塞的区别
同步:函数没有执行完不返回,线程被挂起阻塞:没有收完数据函数不返回,线程也被挂起异步:函数立即返回,通过事件或是信号通知调用者?非阻塞:函数立即返回,通过select通知调用者?这样看来异步和非阻塞有什么区别呢?异步=非阻塞?同步是在操作系统层面上,阻塞是在套接字上?Reactor是同步 Proactor是异步?回答:同步、异步、阻塞和非阻塞的概念在进行网络编程时,我们常常见到同步、异步、阻塞和原创 2009-03-09 01:05:00 · 710 阅读 · 0 评论 -
深入浅出Win32多线程程序设计(一)――基本概念
1.引言从单进程单线程到多进程多线程是操作系统发展的一种必然趋势,当年的DOS系统属于单任务操作系统,最优秀的程序员也只能通过驻留内存的方式实现所谓的“多任务”,而如今的Win32操作系统却可以一边听音乐,一边编程,一边打印文档。理解多线程及其同步、互斥等通信方式是理解现代操作系统的关键一环,当我们精通了Win32多线程程序设计后,理解和学习其它操作系统的多任务控制也非常容易。许多程序员从原创 2008-12-26 01:05:00 · 883 阅读 · 0 评论 -
深入浅出Win32多线程程序设计(二)――线程控制
WIN32线程控制主要实现线程的创建、终止、挂起和恢复等操作,这些操作都依赖于WIN32提供的一组API和具体编译器的C运行时库函数。1.线程函数在启动一个线程之前,必须为线程编写一个全局的线程函数,这个线程函数接受一个32位的LPVOID作为参数,返回一个UINT,线程函数的结构为:UINT ThreadFunction(LPVOID pParam){ //线程处理代码原创 2008-12-26 01:10:00 · 692 阅读 · 0 评论 -
深入浅出Win32多线程程序设计(三)――线程间通信
1.简介线程之间通信的两个基本问题是互斥和同步。线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。线程互斥是指对于共享的操作系统资源(指的是广义的“资源”,而不是Windows的.res文件,譬如全局变量就是一种共享资源),在各线程访问时的排它性。当有若干个线程都要使用某一共享资源时,任何时刻最多原创 2008-12-26 01:11:00 · 973 阅读 · 0 评论