我有一个类,维护一个数组,然后用线程不停的取数组中数据 调用socket接口 发送出去, 现在我在同一个类中,想发送一个数据,当不加到数组中,直接调用socket接口,这样会有问题么,万一后者调用发送时线程也在调用,会出错么?高手指教

解决方案 »

  1.   

    需要搞一个同步机制,否则容易造成数据中数据的混乱。
    建议你封装一个socket类,由该类来维护自己的数据,通过方法来维护该对象中的数据,这样不是更好吗?非单独一个线程维护这个数据干什么?全局数据吗?
      

  2.   

    可以,两种方法:
    1. 再建一个socket用于发送这个单独的数据,当然接收方也要相应地建一个接收线程;
    2. 用同一个socket发送接收,但要建立解决冲突的机制,可以使用信号