具体情况大概如下:public class ThreadA implements Runnable{
                public void run() {
// TODO Auto-generated method stub
                    ThreadB.start();
                    Socket.receiver(packetA);
                }
           }
           public class ThreadB implements Runnable{
                public void run() {
// TODO Auto-generated method stub
                    Socket.receiver(packetB);
                }
           }
ThreadA先执行然后会执行ThreadB 一段时间后2个线程会同时接受  我会对接受的数据进行判断然后执行后面的操作
请问这样可以么。。
要是不可以的话 我如何把ThreadA接受的数据传给ThreadB呢

解决方案 »

  1.   

    应该是只有一个线程会收到消息吧。
    常见的设计是把收到的包放到队列里面,然后其他线程都从队列里面读,至于是peek还是read,就看你的逻辑了
      

  2.   

    这两个线程是分别建在2个Activity下的,根据接受来的数据改变当前Activity的。如果改成一个线程我如何通过ThreadA来改变 ActivityB的呢。
      

  3.   

    如果有两个Activity,同一时刻也只有一个Activity是活跃的。用不活跃的Activity接收数据再去更新活跃的Activity,感觉这个设计有点奇怪啊。
    如果非要这么设计的话,可以让接收到消息的Activity发送一个Broadcast,另一个Activity注册个Receiver。