在C#中,Task是用于实现并发和异步编程的一种机制。它允许我们以非阻塞的方式执行任务,并在任务完成时获取结果。以下是一些常用的Task的用法:
-
创建和运行任务:
Task task = Task.Run(() => { // 在这里编写任务的逻辑 });
-
等待任务完成:
task.Wait(); // 阻塞当前线程,直到任务完成
-
使用异步和等待:
async Task MyMethod() { await task; // 在异步方法中等待任务完成 // 继续执行其他逻辑 }
-
获取任务的结果:
int result = task.Result; // 获取任务的返回值(如果有)
-
处理任务的异常:
try { await task; // 异步方法中使用try-catch捕获任务的异常 } catch (Exception ex) { // 处理异常 }
-
并行执行多个任务:
Task[] tasks = new Task[] { Task.Run(() => { /* 任务1的逻辑 */ }), Task.Run(() => { /* 任务2的逻辑 */ }), // 添加更多任务... }; Task.WaitAll(tasks); // 等待所有任务完成
这些是Task的基本用法,可以根据实际需要进行进一步的学习和探索。