gpt4 book ai didi

c# - 多线程与多实例——选择哪个?

转载 作者:太空狗 更新时间:2023-10-29 17:48:30 25 4
gpt4 key购买 nike

这两种情况会有很大的不同吗:

  1. 一个应用程序实例创建 100 个线程来处理一些作业
  2. 同一应用程序的 10 个实例分别创建 10 个线程来处理作业(总共 100 个)

两种情况下的线程数将相同。是某种性能还是对另一种的任何类型的改进?

Instance - is for example console application, so in second case it will be 10 console application running. each of application has it's own folder.

最佳答案

线程使用的资源少于进程,因此理论上选项 1 会“更好”。但是,您可能不会注意到两者之间有太大区别,因为 100 个单独的线程 进程同时运行并且争夺相同的 O/S 资源几乎可以保证让您的系统停止运行.

我会选择选项 3 - 一个进程包含一个相当小的线程池。这样,一些作业将同时执行,其余作业将排队等待轮到它们执行。如果要运行大量作业,这种方法也可以很好地扩展。

参见 ThreadPool类,或者最好是,它上面的许多更高级别的抽象之一(例如 task library ,甚至是普通的旧 asynchronous delegates )。

关于c# - 多线程与多实例——选择哪个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9473212/

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