namespace MulThread
{
class Program
{
static void Main(string[] args)
{
Manager manager = new Manager();
Task task1 = new Task() { Msg="........",Time=100};
Task task2 = new Task() { Msg="<<<<<<<",Time=200};
manager.Tasks=task1;
manager.Tasks=task2;
manager.StartTask();
}
}
abstract class Base
{
public abstract void Run();
}
class Task : Base
{
public string Msg { get; set; }
public int Time { get; set; }
public override void Run()
{
while (true)
{
Console.WriteLine(Msg);
Thread.Sleep(Time);
}
}
}
class Manager
{
private IList<Base> taskList;
public Base Tasks {
set {
taskList.Add(value);
}
}
public Manager()
{
taskList = new List<Task>();
}
public void StartTask()
{
for (int i = 0; i < taskList.Count; i++)
{
Base task = taskList[i];
Thread thread = new Thread(new ThreadStart(task.Run));
thread.Start();
}
}
}
}
追问感谢耐心回答,再问个问题。
开的这些线程需要对同一个数据库操作,需要考虑线程同步的问题么?
追答要看实际情况而定,应该没多大的影响