日期:2014-05-17  浏览次数:20985 次

多个线程,使用不同的参数来调用同一个函数是否会导致结果数据乱套?
多个线程,使用不同的参数来调用同一个函数是否会导致结果数据乱套?   我现在的代码如下,感觉得到的数据好像不正常。 应该如何操作才是正确的呢?  请大伙指点,谢谢



                    Thread t = new Thread(new ParameterizedThreadStart(getdata));
                    t.Name = "第1个线程";
                    t.Start("第1个线程的参数");

                    Thread t2 = new Thread(new ParameterizedThreadStart(getdata));
                    t.Name = "第2个线程";
                    t.Start("第2个线程的参数");

                    Thread t3 = new Thread(new ParameterizedThreadStart(getdata));
                    t.Name = "第3个线程";
                    t.Start("第3个线程的参数");

private void getdata(string links)
{
    //根据参数去抓取不同网址的数据
}




------解决方案--------------------
取决于你是否同步了共享的变量
------解决方案--------------------
版主+1,楼主可以看下有关于线程的同步问题,http://blog.csdn.net/zhoufoxcn/article/details/2453803
------解决方案--------------------
程序没问题。你要是断点查看。肯定是有问题。
你把数据直接打印出来。应该是没问题。只是顺序错乱而已。
------解决方案--------------------
如果你没用到共有变量,是不会有问题的。如果有共有变量,那么请用锁来保证同步