c# - 什么是工作线程及其与我创建的线程的区别?

标签 c# multithreading

我创建一个线程

Thread newThread= new Thread(DoSomeWork);

.
.
.
private void DoSomeWork()
{
}

这与工作线程有什么不同吗?如果它是..哪个更好,我应该什么时候使用工作线程? 我的应用程序需要有很多线程进行监视、刷新......

最佳答案

我试图以一种简单的方式解释这个概念,希望它有助于更​​好地理解工作线程的概念。

一般定义:-

“工作线程”只是一个线程,它根据老板(我们可以称之为“客户端”)的命令执行一些后台工作,并将工作结果更新给客户端。

技术定义:-

工作线程通常定义为根据客户端请求激活的线程。

示例 1:

1- 我们有一家披萨店,那里有 10 位专家,他们是准备美味披萨的专家。这些被称为“工作线程”。

2- 我们有一个人负责接收客户的订单。那个人被称为“客户”。每当收到新订单时,其中一个“工作线程”就会开始准备比萨饼,并在比萨饼准备好后向客户端更新。

3- 当订单少于 10 个时,一些 worker 就会闲着。

4-当订单超过10个时,订单才进入等待队列。

示例 2:

1- 有一个监听 8080 端口的应用服务器。

2- 一个请求从端口 8080 进入。

3- 监听器线程(称为“客户端”)接收该请求并将其分派(dispatch)给完成请求的“工作线程”。应用服务器上实际上维护着一个“工作线程”池(“工作线程”程序的许多对象)。

4- 如果同时有两个请求进来,则分配两个工作线程,同时执行任务。

关于c# - 什么是工作线程及其与我创建的线程的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1524249/

相关文章:

c# - 是否会按照严格的时间顺序调用 GTK+ 超时回调?

c# - 下面代码中的1F代表什么?

c# - 在内置 Register.cshtml View 中添加 Roles 下拉列表,并在 Reginster 操作方法中检索其选定的值

c# - XmlDocument 与 XmlWriter

c# - Unity List.Add 阻止 Android 上的 Sprite 更新

c# - 在 4 中使用 3.5 组件

java - 将长应用程序划分为线程

java - 在Struts2应用程序上动态创建线程

multithreading - 寻找最佳的多线程消息队列

c - 编写线程安全 UNIX 代码的技巧?