线程安全就是线程间不会发生对相同数据区的访问冲突。
编写线程安全类的最简单的方法是用同步对象,Windows系统有几个用来处理线程同步和互斥的内核对象,象Semaphore,Mutex,Event一类的。
关于CSocket我不熟
编写线程安全类的最简单的方法是用同步对象,Windows系统有几个用来处理线程同步和互斥的内核对象,象Semaphore,Mutex,Event一类的。
关于CSocket我不熟
解决方案 »
- 绘制半径很小的圆时出现毛刺怎么办?
- 怎样用C++实现文件夹同步
- 求人脸识别源码
- Help!!!请好心人帮助!
- InstallShield可以象WiseInstallation通过监视应用程序来制作安装程序
- 第10次再问————有人知道这个问题吗?(内有文)
- 请问:vc中如何获得当前窗口句柄?,使用那个函数?,谢谢!!
- shellexecute在ie里打开一个htm文件,怎么把焦点移到这个打开的ie文件上呢?
- 2000SERVER,我的电脑很奇怪,桌面的图片,和打开文件的时候的,文件
- 关于缓冲区溢出后的恶意代码
- 在本机上如何设置(客、服)才能测试自己做的客户端和服务端的类似聊天程序?
- 请问哪里有好得isapi的网站或论坛,谢谢
熟悉CSocket的高手也来看看呀!小弟在此谢过了!!!
能说得详细一点嘛?
至于为什么要使用handle map,原因也很简单:因为Windows句柄显然是唯一的,但MFC用C++类来包装Windows句柄时,如果不加任何保护措施,很可能造成两个C++对象同时与一个Windows句柄关联。设想一下,两个CWnd同时关联到一个HWND上,而两个CWnd对象各自有各自的消息映射,那么这个窗口的行为将是难以预料的。因此,用handle map来作保护,当你调用诸如Attach之类的函数时,MFC会查找handle map,如果已有对象与之关联,Attach就失败。同理,MFC还用handle map来维护GetParent、FromHandle这类函数返回的临时对象。
高!阁下能不能进一步阐述一下如何解决跨线程CSocket对象的使用?
小弟多谢啦!