我有一种情况,我希望同一个线程执行多个操作。参考下面的代码:
namespace ConsoleApplication1
{
public interface ISample
{
void show();
}
class A : ISample
{
public void show()
{
Console.WriteLine("Inside A");
}
}
class B : ISample
{
public void show()
{
Console.WriteLine("Inside B");
}
}
class Program
{
static void Main(string[] args)
{
ISample aObj = new A();
System.Threading.ThreadStart ts1 = new System.Threading.ThreadStart(aObj.show);
System.Threading.Thread t1 = new System.Threading.Thread(ts1);
t1.Start();
t1.Join();
aObj = new B();
t1.Start();
Console.ReadLine();
}
}
}
上面的代码导致异常。我已经看到很多关于重新启动线程的讨论。就我而言,我想在同一个线程上一个接一个地执行多个操作。对我来说,我正在寻找在同一线程上从不同对象运行不同方法的解决方案。所有这些对象都是实现与上述代码相同接口的类。请建议我执行此操作的最佳方法。换句话说,如果一个方法是完整的,那么同一个线程应该启动另一个对象的方法。这可能吗?