gpt4 book ai didi

c# - ThreadPool 在这种情况下值得吗?

转载 作者:行者123 更新时间:2023-11-30 14:41:17 27 4
gpt4 key购买 nike

每当用户扫描条形码时,我都会触发一个线程。

大多数时候它是一个相当短的运行线程。但有时可能需要很长时间(等待调用 GUI 线程)。

我读到过,为此使用 ThreadPool 可能是个好主意,而不是为每次扫描创建我自己的线程。

但我还读到,如果 ThreadPool 的线程用完了,那么它只会等到其他线程退出(我正在做的事情不正常)。

那么,线程用完的可能性有多大? ThreadPool 的好处真的值得吗? (当我扫描时,扫描“运行”线程逻辑似乎不会花费太长时间。)

最佳答案

这取决于您所说的“很长一段时间”是什么意思,以及这种情况有多普遍。

MSDN 主题“The Managed Thread Pool”为何时使用线程池线程提供了很好的指南:

There are several scenarios in which it is appropriate to create and manage your own threads instead of using thread pool threads:

  • You require a foreground thread.
  • You require a thread to have a particular priority.
  • You have tasks that cause the thread to block for long periods of time. Thethread pool has a maximum number ofthreads, so a large number of blockedthread pool threads might preventtasks from starting.
  • You need to place threads into a single-threaded apartment. AllThreadPool threads are in themultithreaded apartment.
  • You need to have a stable identity associated with the thread, or todedicate a thread to a task.

关于c# - ThreadPool 在这种情况下值得吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4348113/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com