技术要求:   1.50个串口同时进行实时通讯
             2.50个串口要向一个主的窗体实时汇报通讯的状态。
             3.硬件使用的是多串口卡:3块16串口卡,加电脑自带的两个串口(2000年,现在的pc可能没了)关于多线程: 看了资料说多线程不稳定,我也下载了一些例子看了一下。我也意识到:如果要做好多线程关键要看本人
             的功夫了。vb好像没有提供一种相对固定的方法。没敢用多线程:考虑到工程进度,没敢用。害怕不稳定。我采用的方法:我当时想既然windows可以同时执行多个程序,就让windows干这事应该比较稳定吧。
              所以这50个程序一次全部执行起来,再运行一个主窗体作为监控显示,之间用dde连接。使用情况:    使用多年没出现问题。内存开销:    记得在win98下运行时内存要1G (现花了1千多元在中关村买的,2000年)
              后马上试了一下win2000,内存512就够,后来在xp下运行也差不多。cpu使用情况: 整个程序运行起来后 占用cpu 90% (不过这台电脑只做串口的服务器用,没有其他事情)我想借此机会,请各位做一个评论:1.此方法如何,使用中会有什莫问题?
                                2.是否有更好的方法?
                                3.这种方法是否可以称为----- 多进程!
                                4.是否可以说:多进程容易比多线程稳定。  (因为由操作系统管控)
这是我多年来,一直想找高人探讨的问题。thanks for any help
         

解决方案 »

  1.   

    在.NET下有专门的多线程,推荐你看下
      

  2.   

    1,你的实际结果已经验证了------没什么问题.2,如果是我做,我个人的方案应该是首选双线程.    即,一个线程负责界面,另一线程负责与50个串口通讯.    理由是,串口的读写本身是不会有什么大的数据量的,因此没必要每个串口使用一个线程;    而往往时间上开销比较大的是对这些取得的数据的处理过程上面.    所以处理过程与通讯过程各一线程即可.3,的确是多进程,但实际上WINDOWS实现多进程,与一个进程里实现多线程,多有相似之处.....    简单的比喻是,线程是"轻量"的进程....不知道是否恰当,哈哈.4,你也说了,一种方案是否稳定,是看使用者的能力的.    项目不像研究编程,达到了效果即是"行",达不到,你用上驱动技术也是"不行".    这直接关系到有没有钱收,哇哈哈.    所以我个人不建议在项目里搞代码钻研搞得太狠,以自己的能力,使用合适的技术,达到效果即可.    有句话叫做"武功无高低,修为有深浅",XOMOMO的签名,我觉得非常对.    如果做得不好,一个进程也一样崩.....做得好,你这51个进程一样没事,HIA.
      

  3.   

    同意蚜虫兄.要是玩的话可以往地核里死钻,但做项目以稳定与工期为前提----------毕竟是RMB啊,哈哈哈哈.
      

  4.   

    打开任务管理器,查看进程的线程数量,我不太理解这句话。我理解在操作系统下直接运行的程序是进程。在进程下执行的各项任务近几年被称为线程。
    任务管理器下的*.exe 应该叫什么呢?
    线程对于不搞程序的人很难理解,但是thread在英文里本身就包含了路线的意思。但是在中文里,线 和 路线是两码事,可以说是两个不同的词。中文在一些技术术语里有点生搬硬套。发音产生变化,如果词义再产生变化那是很吓人的事情。同是亚洲的日本,采用的是同音、同意的片假名表示。我认为对于技术交流就方便多了。
      

  5.   

    我不知道你对那方面的控制原理感兴趣?如果说程序结构和基本思路,我的帖子里已经提到了,原文如下:我采用的方法:我当时想既然windows可以同时执行多个程序,就让windows干这事应该比较稳定吧。
                  所以这50个程序一次全部执行起来,再运行一个主窗体作为监控显示,之间用dde连接。中国的数控机床(也可以说全世界的)在70、80年代大部分是使用纸带阅读机(电影里打电报用的带有孔的纸带)来输入加工程序的。主要分为:
    1.纸带阅读、穿孔机(tape reader/punch)
    2.电传打字机(tty)
    3.电流环接口(日本人叫asr33)
    4.磁带机(一般使用金属磁带。80年代大学讲课喜欢说kansa city标准 就是110 baudrate,国外的一般都可以做到4800,或9600。北工大卖tp801单板机配的就是这个 Z80 CPU 110 波特的磁带机(音乐磁带))
    其实,早期的电脑也是使用以上的设备输入程序(例如:DJS-130 64位小型计算机、 国产、 用于70年代,1k内存和楼房的纱窗一边大,每个bit是一个小磁环)。
    我从1989年开发了用笔记本电脑(bondwell 200 ,cpu8088,两个软驱720k。中关村卖的第一种笔记本 9000元一台)代替上述设备的产品。可以说从 1989-1996 卖遍全中国的大部分数控机床用户。(我想,我干这个不存在不可靠的问题!)当时给用培训先要讲:dir、copy、foramt、edline。
     slowgrace说我很能侃,不知道你想听那段?我不保守。