推荐优先使用Task(尤其是async/await),因其更轻量、易管理、支持取消和异常传播;Thread更底层、开销大,仅适用于需精细控制线程生命周期的少数场景。

在C#中,多线程主要通过 Thread 和 Task 两种方式实现,但推荐优先使用 Task(尤其是 async/await),因为更轻量、易管理、支持取消和异常传播,而 Thread 更底层、开销大、已逐渐被替代。
直接用 Thread 创建和启动线程
Thread 是 .NET 最基础的线程封装,适合需要精细控制线程生命周期的极少数场景(如长时间运行的后台服务线程)。
基本用法:
- 创建
Thread实例,传入一个无参委托(ThreadStart)或带参委托(ParameterizedThreadStart) - 调用
Start()启动;可选传参(仅限一个 object) - 不建议手动调用
Abort()(已过时且不安全),应通过CancellationToken协作式退出
示例:
var t = new Thread(() => {
Console.WriteLine("线程执行中...");
});
t.Start(); // 启动
t.Join(); // 等待结束(可选)登录后复制
用 Task 启动并发操作(推荐)
Task 是基于线程池的异步抽象,无需手动管理线程,资源复用率高,配合 async/await 写法简洁清晰。
常用方式:
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~