110,535
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Threading;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var at = new Thread(A);
at.Start();
var bt = new Thread(B);
bt.Start();
var ct = new Thread(C);
ct.Start();
at.Join();
bt.Join();
ct.Join();
Console.WriteLine(".......................End.");
Console.ReadKey();
}
static void A()
{
Thread.Sleep(2000);
Console.WriteLine("A completed.");
}
static void B()
{
Thread.Sleep(1500);
Console.WriteLine("B completed.");
}
static void C()
{
Thread.Sleep(1900);
Console.WriteLine("C completed.");
}
}
}
private void voidCF()
{
new Thread((ThreadStart)delegate { A(); }).Start();
new Thread((ThreadStart)delegate { B(); }).Start();
new Thread((ThreadStart)delegate { C(); }).Start();
new Thread((ThreadStart)delegate { D(); }).Start();
new Thread((ThreadStart)delegate { E(); }).Start();
new Thread((ThreadStart)delegate { F(); }).Start();
}
using System;
using System.Threading;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var Aflag = new ManualResetEvent(false);
var Bflag = new ManualResetEvent(false);
var Cflag = new ManualResetEvent(false);
ThreadPool.QueueUserWorkItem(h =>
{
A();
Aflag.Set();
});
ThreadPool.QueueUserWorkItem(h =>
{
B();
Bflag.Set();
});
ThreadPool.QueueUserWorkItem(h =>
{
C();
Cflag.Set();
});
Aflag.WaitOne();
Bflag.WaitOne();
Cflag.WaitOne();
Console.WriteLine(".......................End.");
Console.ReadKey();
}
static void A()
{
Thread.Sleep(2000);
Console.WriteLine("A completed.");
}
static void B()
{
Thread.Sleep(1500);
Console.WriteLine("B completed.");
}
static void C()
{
Thread.Sleep(1900);
Console.WriteLine("C completed.");
}
}
}