同じスレッドで複数の操作を実行したい状況があります。以下のコードを参照してください。
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();
}
}
}
上記のコードは例外になります。スレッドの再起動について多くの議論を見てきました。私の場合、同じスレッドで複数の操作を次々と実行したいと考えています。私にとっては、同じスレッドで異なるオブジェクトから異なるメソッドを実行するための解決策を探しています。これらのオブジェクトはすべて、上記のコードと同じインターフェイスを実装するクラスです。これを実行する最良の方法を教えてください。つまり、メソッドが完了すると、同じスレッドが別のオブジェクトのメソッドを開始する必要があります。これは可能ですか?