本人用delphi7做的程序,启动26条线程去扫描26口串口,原来想可以加快扫描速度,结果却出现相差很大的结果.我现在往串口写数据后,用的SLEEP函数等待,才出读串口.
失望呀.

解决方案 »

  1.   

    建议lz先理解一下线程的运作原理,单cpu情况下,多线程是一定不如单线程快的。如果仅仅是扫描,毫无疑问,在单cpu下,单线程是最快的。由于串口通讯有其特殊性,每个线程都有等待时间,这样算下来,多线程不一定比单线程慢。
      

  2.   

    楼上,照你说这样才好的单核CPU也最好用单线程,这些事情单片机就行了.
      

  3.   

    楼主误会二楼的意思了。多线程的出现并不是为了提高系统运行的效率,而主要是为了解决多用户多任务在操作系统中遇到的难题。从原理上讲,多线程不过是CPU的分时运行,由原来的一个CPU运行一个任务,到现在的一个CPU运行多个任务,从整体上看,单个任务的处理时间因为其它任务的分时而增加了,所以说效率反倒下降了。多线程的真正好处,在于多用户多任务可以同时运行而互不干扰。楼主说得对,单片机在处理单任务方面,得确让现在的操作系统愧不敢当~