线程相关
1.进程间通信 (邮件和管道 PostMessage() 剪切板 )
---邮件是单向的数据传输通道
---管道又分为匿名管道和命名管道 匿名管道式本地的双向数据传输通道,命名管道式支持网络和本地两种方式的双向数据传输通道
2.进程之间有互斥和同步
3.MFC多线程 同步对象(临界区CCriticalSection,事件CEvent,互斥量CMutex,信号量CSemaphore)
4.线程间通信 (全局变量。自定义消息。进程堆中的缓冲区)
5.重要两个线程(工作线程和UI线程)
6.线程函数的存在方式(全局,C++类中的静态成员函数,C++类的友元函数)
7.创建线程 MFC(AfxBeginThread) C++(_beginthread _beginthreadex) win32(CreateThread)
8.Winsock I/O口模型 (选择,异步选择,事件选择,重叠式I/O,完成端口) ---有助于应用程序通过一种“异步”方式,一次对一个或多个套接字上进行 的通信加以管理
9.线程和线程对象的区别?
线程的handle是指向“线程核心对象”,而不是指向线程本身。对大部分API而言没有什么影响,当你调用CloseHanle()并给予它一个线程的handle时,你只不过是表示你希望自己和此核心对象不再有任何瓜葛,CloseHandle()唯一做的事情就是把引用计数减1,如果该值变成0,对象会自动被操作系统摧毁。
“线程核心对象”引用到的那个线程也会令核心对象开启,因此,线程对象的默认引用计数是2,当你调用CloseHandle()时,引用计数下降1,当线程结束时,引用计数再降1,只有当两件事情都发生了(不管顺序如何)的时候,这个对象才会被真正清除。