日期:2014-05-19  浏览次数:20721 次

Socket多线程问题。。
问题描述:有多个模块,通过网络链接,本人想通过一台计算机同时对这些模块发送数据和接收数据,然后把接收到的数据写入数据库或者文件。
意思就是:通过本地计算机,建立多个Socket到模块的连接,然后发送数据及接收数据。因为要把接收的数据写入数据库或者文件,所以。。要让这些线程分开访问数据库或者文件。
我加了Lock()后,线程是分别访问公共模块的;但如果我要在这个模块中加入一个函数调用(用来对接收的数据进行分析的)后,则会引起线程之间的访问混乱。。

不知道怎么解决,忘高人指点一二。。。



------解决方案--------------------
我晕....
for (int i = 0; i < 3; i++)
{
thr[i].Abort();
}
你中断线程干吗呢?线程工作完成后自然会自动释放.
取消这段代码,根源啊