日期:2014-05-20  浏览次数:20879 次

怎么在class A中的一个线程中挂起和继续class B中的线程
class   A
{
      Thread1;
}
class   B
{
      Thread2;
}
怎么在Thread1中挂起和继续Thread2?

------解决方案--------------------
to 问题是在不同的class中啊

首先对方线程所在的类要提供相应的方法来暂停和继续本类所包含的线程;
然后把此类的对象传递给第二个类中即可。

ps:
不要用Thread.Suspend以及Thread.Resume,线程的暂停和继续的方法参看如下文章的方法
http://blog.csdn.net/Knight94/archive/2006/08/24/1111267.aspx
------解决方案--------------------
定义了线程步定义优先级的话,除非可以配合时间控制,要不然会很糟糕,几个线程都无法完成。

配一个时间控制函数给你,用来测试某个函数或线程所需时间,可以通过控制时间来完成线程的依次执行或插叙执行。。。设置优先级的话,可以在c#帮助里面自己找到相应的属性说明。

using System;
using System.Text;
namespace Class_5
{
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]

static void Main(string[] args)
{
DateTime start = DateTime.Now;
long total = 0;
//
//此处执行函数或线程
//
TimeSpan timeTaken = DateTime.Now - start;
System.Console.WriteLine( "millisecond = " + timeTaken.Milliseconds);
System.Console.WriteLine( "total = " + total);
}
}
}