在COM内部如何从子线程切换到创建COM的线程? 本帖最后由 tzleo 于 2011-09-16 17:39:18 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果没有消息循环,那应该只能使用类似内核对象(如event)的通知机制了。 多谢楼上两位,但是据我所知,event是用来同步线程的吧,而不是线程切换。或许我理解有误,能不能说的再详细一点,或者提供一个链接,谢谢 我跟踪过.net framework的consol程序,里面创建一个Dispatcher线程,发现.net可以在consol下做到线程切换,但是那段代码是在内核中的,所以我想知道.net是怎么做到的。 是的,但是这往往只是组件开发者一厢情愿,但是你永远不能强制使用者在接收到组件发出的事件后想干些什么事情。如果你的事件是等待回调结果的,那么如果你随便开线程的话玩玩等待你的就是死锁和不同步。这个就是为什么COM会有线程套间的概念。 那就通過Marshal/UnMarshal來传递COM指针. 所谓的套间、Marshal最终也都离不开窗口消息,全TMD用SendMessage来完成的,SendMessage用的就是事件,而且不止一个,发送通知是一个事件,接收结果又是一个,闭源的好处就在这里,你不知道它怎么工作的,怎么去破坏它?要破坏也不需要自己去瞎响应事件啊,拦截WM_USER消息就够了,这样就全破坏了,COM把自己都包装到WM_USER消息中了,可惜大家都看不懂,唯一的搞事方式就是不交给系统默认处理。 VC中能否使用VB提供的类及类的方法? LoadFrame()出错,olelink出错,Release下调试编译运行都正常,Debug下编译正常就是不能运行 十万火急!关于用ADO连接后台数据库ORACLE的问题!在线等!谢谢! 请问剪切的时候是调用什么api函数? 使用UDP发送广播的问题 请问如何在一个Edit中实现对多个CString 的换行输出。。。十万火急 CAnsySocket很急的问题,请高手指教. c语言 Socket的问题 请高手指点! MFC求助 怎样在不显示已知文件后缀名上打钩,用程序实现 如何使窗口自适应大小
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货