线程和异步编程

线程和异步编程使应用能够以异步方式在并行线程中完成工作。

应用可以使用线程池以异步方式在并行线程中完成工作。 线程池管理一组线程,并使用队列在线程可用时将工作项分配给线程。 线程池类似于 Windows 运行时中可用的异步编程模式,因为它可用于完成扩展工作而不阻止 UI,但线程池提供比异步编程模式更多的控制,并且你可以使用它并行完成多个工作项。 可以使用线程池来:

  • 提交工作项、控制其优先级和取消工作项。

  • 使用计时器和定期计时器计划工作项。

  • 为关键工作项预留资源。

  • 运行工作项以响应命名事件和信号灯。

线程池在管理线程时效率更高,因为它减少了创建和销毁线程的开销。 这意味着它有权跨多个 CPU 核心优化线程,并且可以在应用之间以及后台任务运行时平衡线程资源。 使用内置线程池很方便,因为你专注于编写完成任务的代码,而不是线程管理的机制。

主题 DESCRIPTION
异步编程 (UWP 应用) 本主题介绍通用 Windows 平台(UWP)中的异步编程及其在 C#、Microsoft Visual Basic .NET、Visual C++ 组件扩展(C++/CX)和 JavaScript 中的表示形式。
C++/CX 中的异步编程(UWP 应用) 本文描述了如何通过使用 ppltasks.h 文件中task命名空间定义的concurrency类,在 C++/CX 中建议使用异步方法的方式。
使用线程池 的最佳做法 本主题介绍使用线程池的最佳做法。
在 C# 或 Visual Basic 中调用异步 API 通用 Windows 平台(UWP)包含许多异步 API,以确保应用在完成可能需要较长时间的工作时保持响应。 本主题讨论如何在 C# 或 Microsoft Visual Basic 中使用 UWP 中的异步方法。
创建定期工作项 了解如何创建定期重复的工作项。
将工作项提交到线程池 通过将工作项提交到线程池中,来学习如何在单独的线程中执行工作。
使用计时器提交工作项 了解如何创建一个在计时器结束后执行的工作项。