本文整理汇总了C#中System.Threading.ParameterizedThreadStart代理的典型用法代码示例。如果您正苦于以下问题:C# ParameterizedThreadStart代理的具体用法?C# ParameterizedThreadStart怎么用?C# ParameterizedThreadStart使用的例子?那么, 这里精选的代理代码示例或许可以为您提供帮助。
ParameterizedThreadStart代理属于System.Threading命名空间,在下文中一共展示了ParameterizedThreadStart代理的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
//引入命名空间
using System;
using System.Threading;
public class Work
{
public static void Main()
{
// Start a thread that calls a parameterized static method.
Thread newThread = new Thread(Work.DoWork);
newThread.Start(42);
// Start a thread that calls a parameterized instance method.
Work w = new Work();
newThread = new Thread(w.DoMoreWork);
newThread.Start("The answer.");
}
public static void DoWork(object data)
{
Console.WriteLine("Static thread procedure. Data='{0}'",
data);
}
public void DoMoreWork(object data)
{
Console.WriteLine("Instance thread procedure. Data='{0}'",
data);
}
}
// This example displays output like the following:
// Static thread procedure. Data='42'
// Instance thread procedure. Data='The answer.'
示例2: new ParameterizedThreadStart
//引入命名空间
using System;
using System.Threading;
class MyThread {
public int count;
public Thread thrd;
public MyThread(string name, int num) {
count = 0;
thrd = new Thread(new ParameterizedThreadStart(this.run));
thrd.Name = name;
thrd.Start(num);
}
void run(object num) {
Console.WriteLine(thrd.Name + " starting with count of " + num);
do {
Thread.Sleep(500);
Console.WriteLine("In " + thrd.Name + ", count is " + count);
count++;
} while(count < (int) num);
Console.WriteLine(thrd.Name + " terminating.");
}
}
class MainClass {
public static void Main() {
MyThread mt = new MyThread("Child #1", 5);
MyThread mt2 = new MyThread("Child #1", 3);
do {
Thread.Sleep(100);
} while (mt.thrd.IsAlive | mt2.thrd.IsAlive);
Console.WriteLine("Main thread ending.");
}
}