Multithreading
文章平均质量分 90
DOOM
这个作者很懒,什么都没留下…
展开
-
内核同步对象
Windows NT提供了五种内核同步对象(Kernel Dispatcher Object),你可以用它们控制非任意线程(普通线程)的流程。表4-1列出了这些内核同步对象的类型及它们的用途。在任何时刻,任何对象都处于两种状态中的一种:信号态或非信号态。有时,当代码运行在某个线程的上下文中时,它可以阻塞这个线程的执行,调用KeWaitForSingleObject或KeWaitForMultipl转载 2008-06-12 23:01:00 · 8740 阅读 · 1 评论 -
异步IO及APC
异步IO异步IO是可以在IO操作时马上返回继续运行线程中后面的代码。在IO操作结束时可以根据IO操作的的返回结果分别处理。自己操作异步IO返回通过readfile,writefile等api,这些api既可以异步操作也可以同步操作。若要异步操作文件必须以异步的方式打开。主要是通过Synchronization Objects实现。异步IO可在OVERLAPPED结构中指明同步原语的原创 2008-06-12 23:33:00 · 1450 阅读 · 0 评论 -
Windows下Critical Section、Event、Mutex、Semaphores区别
临界区(Critical Section) 保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一个线程对共享资源进行访问。如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达到用原子方式操作共享资源的目的。 临界区包含两个操作原语转载 2008-06-09 17:23:00 · 869 阅读 · 0 评论 -
异步IO、APC、IO完成端口、线程池与高性能服务器
原作者姓名 Fang(fangguicheng@21cn.com) 异步IO、APC、IO完成端口、线程池与高性能服务器之一异步IO 背景:轮询 PIO DMA 中断 早期IO设备的速度与CPU相比,还不是太悬殊。CPU定时轮询一遍IO设备,看看有无处理要求,有则加以处理,完成后返回继续工作。至今,软盘驱动器还保留着这种轮询工作方式。 随着CPU性能转载 2008-06-12 02:57:00 · 853 阅读 · 0 评论 -
进程间通信的11种方法
进程间通信有以下方法 Using named objects Waiting for multiple objects Waiting in a message loop Using mutex objects Using semaphore objects Using event objects Using critical section objects转载 2008-06-13 14:00:00 · 783 阅读 · 0 评论 -
线程局部存储Thread Local Storage(TLS)
在线程的学习中我们知道每个线程除了共享进程的资源外还拥有各自的私有资源: 一个寄存器组(或者说是线程上下文);一个专属的堆栈;一个专属的消息队列;一个专属的Thread Local Storage(TLS);一个专属的结构化异常处理串链。其中线程上下文在线程的学习中已经解释过了,堆栈没有什么好说的,消息队列会在USER 和GDI 子系统一节中讲解,那么这节的任务就是集中讲解线程局部原创 2008-09-09 16:49:00 · 2868 阅读 · 0 评论 -
About Messages and Message Queues
1.将数据类的指针用发消息的办法发给另外一个线程是个非常不正确的做法。让界面自个儿来取更新的数据同步其自身的数据备份或刷新界面等。不同工作者线程间则可以通过一个信号体等等来通知。postmessage由于是直接把消息放到接收线程的消息队列,在队列满的时候会发送失败。这时候一般人会在接收线程的处理消息函数里删除指针指向的数据。应该在发送线程对postmessage做一个是否成功的判断,原创 2008-09-19 23:31:00 · 676 阅读 · 0 评论 -
CreatThread 和 AfxBeginThread 的选择
如果是win32肯定用creatthread。但如果是MFC项目的话,在用AfxBeginThread创建的线程内,你无法调用Afx开头的函数,比如AfxGetMainWnd。这时候要获得主窗口HWND,就需要像在win32里那样在创建窗口的时候保存HWND以供后面使用。AfxBeginThread主要就是保存了一些额外的信息。原创 2008-10-15 15:31:00 · 1010 阅读 · 0 评论 -
进程间通讯
一种机制,操作系统进程和线程通过它交换数据和消息。IPC 包括本地机制(如 Windows 共享内存)或网络机制(如 Windows 套接字)。 进程间通讯 一、说明进程间通讯的必要性及困难性 二、Socket的方法,对于不同机器上且数据量很的情况会有很大的帮助,但对于同一台机器之间的不同进程之间的通讯就不方便了 (代码量太多)转载 2009-11-18 15:07:00 · 862 阅读 · 0 评论