首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

真郁闷呀,研究VB6多线程,倒在了线程同步下

2013-01-27 
真郁闷呀,研究VB6多线程,倒在了线程同步上。研究了很久VB6的ActiveX.exe单元线程模型的多线程了,最后倒在了

真郁闷呀,研究VB6多线程,倒在了线程同步上。
研究了很久VB6的ActiveX.exe   单元线程模型的多线程了,

最后倒在了线程同步上了,只要线程进入WaitForSingleObject(handle,INFINITE) 上,就再再也换不醒了。


我是在单元线程中使用WaitForSingleObject(handle,INFINITE),在主线程使用SetEvent,杯具了,直接进入死锁,

难道不能使用常规同步了?要使用PostThreadMessage了?消息队列了?

有经验的说手?
[解决办法]
个人意见:
active exe,任意开多个
一个DLL,比如:MyTest.Message,这个在操作系统中共享,上面的exe通过getobject获取,
加上withevents,就可以共享数据和消息通知了。

原型已经测试通过,稳定、高效。
完全避开多线程的禁区而实现多线程。
[解决办法]


[解决办法]
支持,呵呵,NICE DISCUZ
[解决办法]

[解决办法]
很多技术也许是很多年前的了,但只要它足够实用,足够解决某些问题,那么它一定会在特定的领域有一份天空的.

VB6真的很老了,但是在一些领域真的挺难被替代的,比如我所从事的工控领域,开发速度快,几乎无需关心底层,并且容易入门,很多简单的功能稍微学习一下即可实现.

每种技术每种工具都有自己的特点,几乎很少有那种完全一无是处的工具或技术,所以只要在自己的领域达到极致即可,求精不求广,HOHO.

甚至于有些人非要说某某技术不行了,该换新了,这种说法是非常不负责任的,也是非常信口开河的,因为根本没有与应用领域相联系起来,那就没意义的,纯粹是发泄一下自己的情绪,或者想通过压低别的技术,来突出自己或自己所掌握的另一种技术的优越性.

而对于应用领域的错误联系也是无意义的,我曾经见过有人说VB6垃圾,理由是VB6不能编译驱动,哈哈,真是个奇人!

对于这类言论,于论坛来说是有好处的,因为能带来大量的口水战,因此甚至会有人故意而为之;但对于初学者来说,非常容易让他们迷茫,到底这个争议的东西对我来说有用还是没有用呢?

我个人对于被无意义口水所淹没的初学者们的建议是,根据自己的应用领域来决定使用什么技术,别人都不知道你要用某个技术来干嘛,所以他们大多数都仅仅会在他们自己的角度来说问题,根本不可能站在你的角度来给你提出有意义的建议,除了让你更迷茫.

而本帖后面的讨论焦点也有点偏离了帖主所想讨论的范围,帖主是想解决使用某技术时所遇到的问题,但后面却转成了讨论这种技术是不是有用的话题了,到后面甚至都有火药味了,这对帖主来说是完全无意义的,因为他本身已经在应用这种技术解决自己所面临的问题了,只是在过程中遇到了麻烦,来与大家讨论解决方案.

希望大家不要再歪楼了真郁闷呀,研究VB6多线程,倒在了线程同步下
[解决办法]
回到楼主的问题.

单元模型是COM提供的一种模型,记得有人在一个帖子里说这种模型本身并不是VB6专有的,所以不存在稳定性的问题,只存在使用是否正确的问题.

对于这种单元线程的同步,我个人使用过的办法是使用共享内存,以及不使用同步,直接按VB6标准语法来工作,只是使用定时器来进行流程返回,工作情况都是良好.

希望有所帮助.

热点排行