专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VB Dotnet

※※※※关于多线程的有关问题~※※※※

发布时间:2011-06-23 15:59:11 文章来源:www.iduyao.cn 采编人员:星星草
※※※※关于多线程的问题~~~急~~~~※※※※
我使用timer控件每隔300MS就去判断读卡线程是否执行完成,如果执行完成则再次创建线程,就这样一直循环的去读卡,

现我的PC上有连接两台读卡器,我的实现方式是:使用一个线程来控制一台读卡器,所以这样会有两个线程来控制两台读卡器.

程序中,我使用ReaderSeven类与ReaderSix类去读两台读卡器上的卡,在类中利事件驱动的方式,把结果放在Form中的两个Lable上显示出来,而是Form中去创建两个线程,其代码如下(DecSnr为值为2,表示为两台读卡器;DeviceID(i):值为读卡器的ID,线程根据DeviceID来控制一台读卡器,这样不会乱):

        Private   Sub   Timer1_Tick(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   Timer1.Tick
                Dim   i   As   Integer
                For   i   =   0   To   DecSnr   -   1
                        Select   Case   DeviceID(i)
                                Case   206464490
                                        '判断一个线程是否已经执行完成
                                        If   RCard7   Is   Nothing   Then
                                                '实例一个类
                                                RCard7   =   New   ReaderSeven
                                                '创建一个线程
                                                Dim   th7   As   New   Thread(New   ThreadStart(AddressOf   RCard7.ReadCard7))
                                                th7.Name   =   "ReadCardSeven "
                                                '传递参数给线程
                                                'RCard7.index   =   i
                                                RCard7.DeviceID   =   DeviceID(i)
                                                RCard7.iReaderHnd   =   iReaderHnd(i)
                                                RCard7.Thread   =   th7
                                                '启动线程
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: