在三个线程的while(true)循环中你是怎么处理的?你可以在循环尾sleep一会儿使线程让出cpu,然后再继续循环。
如果第一个线程是"不停地发送规定数据给服务器端"那第二,三个线程还有机会运行吗?三个线程共用一个端口。不知道你的这三个线程关系的什么?

解决方案 »

  1.   

    互不干涉,各自做各自的工作,基本上都是
    run(){
    ……
    move();//执行发送和其它处理(不会中途结束)
    sleep(1000);
    ……
    }
    对了,目前我是让各自sleep1秒
    但是,我想知道如果3个线程都在发送的时候,会不会死锁?
    有没有这种3个线程都在发送状态move()的情况?
      

  2.   

    如果3个线程公用一个socket端口,像你这种情况,我还没有碰到过。
    应该会出现同时执行发送的情况
    但是3个发送信息应该不会交错。因为Socket发送是发送完一条再发送下一条的,所以不用担心信息出错。只不过,服务器端接收可能会同时接收到几条信息的组合。
    其它相关具体处理你自己看着办吧。
      

  3.   

    在不用的时候一定要江thread suspend or wait
    然后用其他事件的message 唤醒它。不能忙等待