Task的使用
目录
简介
总结一下在 c# 中几种 Task 的用法.
对比
方法 | 适用场景 |
---|---|
Task.Run | 通用,适用异步 |
Task.Factory.StartNew(TaskCreationOptions.LongRunning) | 钻牛角尖 |
下面全都是你想用 Task.Factory.StartNew 的必备条件
- 你想要新启一个线程来运行,因为会堵塞太久。
- 是同步方法。因为异步并不会在新启动的线程运行(参考链接),甚至因为开线程,切换线程影响性能。
- 会并发。如果最多同时 1 个,那没必要。
- 你很了解现在的线程池情况,你对线程池扩容的逻辑你不满意,你必须现在就申请一个新线程。否则会自动扩容的。
- 不想用
backgroundService后台执行
和mq消息队列替代