对于线程未知行为

时间:2015-11-23 07:02:21

标签: c# for-loop task

看看这段代码:

foreach (string t in tar) {
    for (int i = 0; i < Program.CountAccount; i++) {
        Program.log("Лайк " + t);
        int ind = i;
        ts[ind] = new Task(delegate {
        MessageBox.Show(
            //cooks[Index]
            Program.browsers[ind].CookieContainer.GetCookies(new Uri("http://m.ok.ru/")).Count.ToString(), "count");
        Program.browsers[ind].Liking(t);
    }); ts[ind].Start();

如果我不使用int IND,则cookie为空。

为什么我需要使用IND?没有它逻辑中断(我的浏览器中的cookie在新线程中是空的),我经常遇到这个bug,解决方法是使用一个额外的变量,但是你能告诉我,我做错了什么,为什么{{1无法访问静态对象for(i[0-N])

0 个答案:

没有答案