关于C#中控制线程的一点笔记

.NET为多线程的操作提供了很多类和方法,但是翻遍了MSDN,却没有一个令当前线程挂起直到指定线程集全部终止的方法。于是经过在Google Group上和网友讨论,找到了一个比较实用的方法,并将其写成一个函数。

函数目的:控制当前线程()等待直到指定线程集合全部终止。

void WaitTilOthersEnd(Thread [] arr)
{
    bool bOtherAlive = true;
    while(bOtherAlive )
    {
        bOtherAlive = false;
         for (index = 0; index < arr.Length; index++)
       {
           bChildThAlive = arr[index].IsAlive || bChildThAlive;
        }
        Thread.Sleep(0);
    }
}

这样一来,只要调用了该函数。那么当前函数在指定线程集的所有线程终止之前是不会继续下面的动作的。虽然是个很简单的方法,不过我在实践中经常用到它,感觉还算有用,所以在这里做个笔记。也希望今后还能从性能的角度对它做进一步的修改。

Advertisements

About 小wing

☞ INTP星人☞爱猫家 ☞钝感男 ☞Google粉 ☞第70004号维基人 ☞民主自由控 ☞伪技术爱好者 ☞挨踢民工 ☞无证程序员 ☞游戏宅 ☞摇滚乐拥趸 ☞原版CD收藏癖 ☞反对爱国主义
此条目发表在Live Space分类目录。将固定链接加入收藏夹。

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s