RSS

C# Thread Test(3)

23 11月

Runnableクラスを継承する例

using System;
using System.Threading;
using Jurapun;

public class ThreadTest3
{
 public static void Main()
 {
 MyThread thread1 = new MyThread(10);
 MyThread thread2 = new MyThread(4);
 }
}

class MyThread : Runnable
{
 private int count;

 public MyThread(int n) : base("id" + n)
 {
 if (n <= 0)
 {
 count = 10;
 }
 else
 {
 count = n;
 }

 this.Start();
 }

 protected override void Run()
 {
 while (true)
 {
 count--;
 if (count < 0)
 {
 return;
 }
 Console.WriteLine(this.Name + " = " + count);
 Thread.Sleep(500);
 }
 }
}

Runnable.cs

using System;
using System.Threading;

namespace Jurapun
{
public abstract class Runnable
{
 public Thread thread;

 public Runnable() {
 this.thread = new Thread(new ThreadStart(Run));
 }

 public Runnable(string name)
 {
 this.thread = new Thread(new ThreadStart(Run));
 this.thread.Name = name;
 }

 public void Start()    {
 this.thread.Start();
 }

 public string Name
 {
 get { return this.thread.Name; }
 }

 protected abstract void Run();
}
}

 

 
コメントする

投稿者: : 2010/11/23 投稿先 C#

 

タグ: , , ,

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中