M masm Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-20 #1 多线程传输程序,多个线程共用一个主线程的socket呢,还是每个线程独立生成自己私有的socket与服务器单独联系?
M masm Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-20 #3 谢谢! 附带问一下,如果一个线程中的socket发生错误,线程能自己销毁自己么?具体代码?
张 张无忌 Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-20 #4 当然是每个线程用自己的socket和server连接,如果用同一个SOCKET难的保证数据边界的确认,
张 张无忌 Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-20 #5 当然可以摧毁closesocket (API)或者TClientSocket.Active:=False
M masm Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-20 #6 张大侠: socket当然可以释放,我问的是,线程发现自己的socket有错误(如连接失败),线程能自杀么?
张 张无忌 Unregistered / Unconfirmed GUEST, unregistred user! 2003-06-20 #7 我认为你不要释放这个线程,最好是重复使用线程,让他处于休息状态, 同时提示用户连接服务器失败或者是传输出现异常,又用户决定是否 中断连接,如果用户需要重新连接的话,就再次利用该线程重新连接 服务器,这样做效率和稳定性要好点,线程的创建需要消耗CPU时间, 重复利用线程是提高效率和速度的一种比较好的手段,不过掌握以后 就很容易使用到其他的线程方面的编码里去.
我认为你不要释放这个线程,最好是重复使用线程,让他处于休息状态, 同时提示用户连接服务器失败或者是传输出现异常,又用户决定是否 中断连接,如果用户需要重新连接的话,就再次利用该线程重新连接 服务器,这样做效率和稳定性要好点,线程的创建需要消耗CPU时间, 重复利用线程是提高效率和速度的一种比较好的手段,不过掌握以后 就很容易使用到其他的线程方面的编码里去.