异步编程,对象A发起一个异步事件B,当B完成的时候A可能已经被关闭重新创建过了或者A已经被Destory了,当B来到的时候该应该怎么处理。A在主线程中,不能阻塞,所以不能等待。有很多个异步事件B,所以B不能删除再分配,应该复用。
解决方案 »
- Unicode下 CString到 const char
- 问一个多线程编程的问题,大侠进来看看……
- 针对一幅图像,VC如何实现多区域选择的功能?
- 请各位大侠帮忙,如何更改控件的字体?
- 如何实现hbitmap与variant的相互转换???
- 请问有什么函数可能通过SOCKET或CSocket来获得Socket连接的机器的IP地址?有没有这样的函数?非常感谢!
- 急!求代码。report风格的listctrl中,获得鼠标点击行数据!-------在线等待
- 准备考系统集成项目管理工程师,大家给推荐两本书吧!
- 如何响应动态库中的事件
- 有谁知道PID和TID指的是什么
- vc2010使用ADO,出现问题
- VC中的问题
自己搜索CreateThread、Event,waitforsingleobject找例子看。
公共区间可以加锁,如果B已经到来并且正在处理,A这个时候不能注销.当然如果A也可对B的创建和返回进行计数,如果有未处理的B,最好禁止注销或者timeout,当然看你的主线程是否受得了.
你是认为B完成的时候?A不能被销毁还是可以被销毁?
用WaitforMultipleObjects就可以应对多个B了
可以用hash表,提高效率
另一种方法是使用引用计数