描述:在线程执行结束后,通过委托来执行下一步的逻辑
C#代码如下:
/// <summary>
/// 定义一个带参数的委托
/// </summary>
/// <param name="sender"></param>
protected delegate void ThreadCallBack(object sender);
static void Main(string[] args)
{
ThreadCallBack _ThreadCallBack = new ThreadCallBack(CallBackTest); //创建一个委托
Thread _Thread = new Thread(ThreadRun); //实例化一个线程
_Thread.Start(_ThreadCallBack); //启动线程并将委托作为参数传入
Thread.Sleep(1000);
_ThreadCallBack = new ThreadCallBack(CallBackTest); //创建一个委托
_Thread = new Thread(ThreadRun); //实例化一个线程
_Thread.Start(_ThreadCallBack); //启动线程并将委托作为参数传入
Thread.Sleep(1000);
_ThreadCallBack = new ThreadCallBack(CallBackTest); //创建一个委托
_Thread = new Thread(ThreadRun); //实例化一个线程
_Thread.Start(_ThreadCallBack); //启动线程并将委托作为参数传入
}
/// <summary>
/// 线程执行
/// </summary>
/// <param name="sender"></param>
static void ThreadRun(object sender)
{
//添加业务逻辑
//TODO
//测试
for (int i = 5; i >= 0; i--)
{
Console.WriteLine("线程" + Thread.CurrentThread.ManagedThreadId + "等待时间:" + i + "秒");
Thread.Sleep(1000);
}
(sender as ThreadCallBack)(Thread.CurrentThread.ManagedThreadId);
}
/// <summary>
/// 委托对应的方法
/// </summary>
/// <param name="sender"></param>
static void CallBackTest(object sender)
{
Console.WriteLine("线程" + sender.ToString() + "执行结束");
Console.ReadLine();
}
C#线程与委托示例
本文介绍了一个使用C#实现线程与委托相结合的例子。通过定义一个带有参数的委托,该示例展示了如何在线程执行完毕后调用特定的方法进行后续处理。具体包括线程的启动、执行及完成后的回调机制。
368

被折叠的 条评论
为什么被折叠?



