线程和异步编程使应用可以在并行线程中异步完成工作,而无需阻止 UI。
应用可以使用线程池以异步方式在并行线程中完成工作。 线程池管理一组线程,并使用队列在线程可用时将工作项分配给线程。 线程池类似于Windows 运行时中可用的异步编程模式,因为它可用于完成扩展工作而不阻止 UI,但线程池提供比异步编程模式更多的控制,并且你可以使用它并行完成多个工作项。 可以使用线程池来:
- 提交工作项、控制其优先级和取消工作项。
- 使用计时器和定期计时器计划工作项。
- 为关键工作项预留资源。
- 运行工作项以响应指定的事件和信号灯。
线程池在管理线程时效率更高,因为它减少了创建和销毁线程的开销。 它有权跨多个 CPU 核心优化线程,并且可以在应用之间以及后台任务运行时平衡线程资源。 使用内置线程池很方便,因为你专注于编写完成任务的代码,而不是线程管理的机制。
| 主题 | Description |
|---|---|
| 使用线程池的最佳做法 | 线程池使用的最佳实践。 |
| 在 C# 或 Visual Basic 中调用异步 API | 如何在 Windows 应用中使用 C# 或 Visual Basic 调用异步 API。 |
| 创建定期工作项 | 如何创建定期重复的工作项。 |
| 将工作项提交到线程池 | 如何通过将工作项提交到线程池在单独线程中执行工作。 |
| 使用计时器提交工作项 | 如何创建在计时器到期后运行的工作项。 |