ID:2 i:0 Time:07:33:43.6852960 ID:0 i:0 Time:07:33:43.6852960 ID:1 i:0 Time:07:33:43.6852960 ID:0 i:1 Time:07:33:44.0440966 ID:2 i:1 Time:07:33:44.0440966 ID:1 i:1 Time:07:33:44.0440966 ID:0 i:2 Time:07:33:44.4808974 ID:1 i:2 Time:07:33:44.4808974 ID:2 i:2 Time:07:33:44.4808974 ID:0 i:3 Time:07:33:44.7304978 ID:2 i:3 Time:07:33:44.7304978 ID:1 i:3 Time:07:33:44.7304978 |
前田稔(Maeda Minoru)の超初心者のプログラム入門
![]()
![]()
/*******************************************/
/*★ class NowTime のスレッド 前田 稔 ★*/
/*******************************************/
using System;
using System.Threading;
// Thread で実行する Class
class NowTime
{
int id;
// Constructor で id を設定
public NowTime(int id) { this.id = id; }
// ランダムな時間間隔で時刻を出力
public void Run()
{
Random rnd = new Random();
for(int i=0; i<4; ++i)
{
Thread.Sleep(rnd.Next(100, 700)); //100 ~ 699 秒中断
Console.Write("ID:{0} i:{1} Time:{2}\n", id,i,DateTime.Now.TimeOfDay.ToString());
}
}
}
class TestThread
{
static void Main()
{
const int N = 3; // 同時に実行するスレッド数
Thread[] threads = new Thread[N];
for(int id=0; id<N; ++id)
{
NowTime nowtime = new NowTime(id);
threads[id] = new Thread(new ThreadStart(nowtime.Run));
threads[id].Start();
}
}
}
|
public NowTime(int id) { this.id = id; }
・・・
const int N = 3; // 同時に実行するスレッド数
Thread[] threads = new Thread[N];
for(int id=0; id<N; ++id)
{
NowTime nowtime = new NowTime(id);
threads[id] = new Thread(new ThreadStart(nowtime.Run));
threads[id].Start();
}
|
ID:2 i:0 Time:07:33:43.6852960 ID:0 i:0 Time:07:33:43.6852960 ID:1 i:0 Time:07:33:43.6852960 ID:0 i:1 Time:07:33:44.0440966 ID:2 i:1 Time:07:33:44.0440966 ID:1 i:1 Time:07:33:44.0440966 ID:0 i:2 Time:07:33:44.4808974 ID:1 i:2 Time:07:33:44.4808974 ID:2 i:2 Time:07:33:44.4808974 ID:0 i:3 Time:07:33:44.7304978 ID:2 i:3 Time:07:33:44.7304978 ID:1 i:3 Time:07:33:44.7304978 |
![]()
static void Main()
{
const int N = 3; // 同時に実行するスレッド数
Thread[] threads = new Thread[N];
for(int id=0; id<N; ++id)
{
NowTime nowtime = new NowTime(id);
threads[id] = new Thread(new ThreadStart(nowtime.Run));
threads[id].Start();
}
for(int id=0; id<N; ++id)
{
threads[id].Join();
Console.WriteLine("ID:{0} が終了しました", id);
}
Console.ReadLine();
}
|
ID:2 i:0 Time:07:56:32.0820507 ID:1 i:0 Time:07:56:32.0820507 ID:0 i:0 Time:07:56:32.0820507 ID:0 i:1 Time:07:56:32.5968516 ID:1 i:1 Time:07:56:32.5968516 ID:2 i:1 Time:07:56:32.5968516 ID:2 i:2 Time:07:56:32.8308520 ID:1 i:2 Time:07:56:32.8308520 ID:0 i:2 Time:07:56:32.8308520 ID:1 i:3 Time:07:56:33.5016532 ID:0 i:3 Time:07:56:33.5016532 ID:0 が終了しました ID:1 が終了しました ID:2 i:3 Time:07:56:33.5016532 ID:2 が終了しました |
![]()