有一个vc工程里面,在主线程下有串口收发函数read(参数)和write(参数)
现在发现串口读写太占资源了,每次执行到串口读写的时候,鼠标都没法动
想改成在另外一个线程里面做读写的工作,不希望改动read和write函数本身的参数,另外串口创建,初始化在主线程进行
有什么办法可以么?

解决方案 »

  1.   

    这个要看什么原因导致太占资源。如果是因为接受的数据太大, 那么就分多次接受。每次接受时,sleep(50)
    一下可能会好些。  你即使放到另外一个线程内, 同样的事情还是要做的呀, 那么就会同样多的占用资源。
    而且可能会占用更多, 因为你又开了一个线程。
      

  2.   


    同意。
    如果发送数据不频繁,且发送的数据量不大,也可以直接在主线程中完成。如果要发送大量数据,则要开一个写线程,然后你的write函数向写线程发送写消息就可以了,倒是不用改变什么。read函数如果改成多线程的话,估计得做更改了。数据的接收得具体问题具体分析,一般都是串口监视线程等到有数据后读取数据,然后发消息给主线程,主线程再根据具体需要处理数据。