using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;namespace ParameterizedThreadStartCS
{
class Program
{
static void Main(string[] args)
{
Thread newThread;
ParameterizedThreadStart PTS1 = new ParameterizedThreadStart(PrintName);
newThread = new Thread(PTS1);
newThread.Name = "Thread 1";
newThread.Start(10); ParameterizedThreadStart PTS2 = new ParameterizedThreadStart(PrintNum);
newThread = new Thread(PTS2);
newThread.Name = "Thread 2";
newThread.Start(10); Console.ReadLine();
} static void PrintName(object times)
{
for (int i = 1; i < (int)times +1; i++)
{
Console.WriteLine("*****我叫某某某*****\n");
Thread.Sleep(3000);
} }
static void PrintNum(object times)
{
for (int i = 1; i < (int)times + 1; i++)
{
Console.WriteLine("*****我的学号是0001*****\n");
Thread.Sleep(3000);
} }
}
}using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;namespace ParameterizedThreadStartCS
{
class Program
{
static void Main(string[] args)
{
Thread newThread;
ParameterizedThreadStart PTS = new ParameterizedThreadStart(Print);
for(int i=1;i<3;i++)
{
console.WriteLine("Thread "+i);
newThread = new Thread(PTS);
newThread.Name=i.ToString();
newThread.Start(10);
} Console.ReadLine();
} static void Print(object times)
{
for (int i = 1; i < (int)times +1; i++)
{
Console.WriteLine("*****我叫某某某,我的学号是0001*****\n");
Thread.Sleep(1);
} }
}
}请问大家,这两段代码区别在哪?都是多线程吗?什么是新线程?上面的代码中有体现吗?谢谢!
各自启动了两个新线程
newThread = new Thread(PTS1); 创建线程
newThread.Start(10);启动线程本质上两个程序一样。
如果说有区别的话,
第一个程序的两个线程各自委托执行了一个方法。
第二个程序的两个线程委托执行同一个方法。
如果new了一个Thread,让这个Thread去下载文件,UI线程就不会阻塞,能控制进度条了。