C# 线程的定义

我知道一个c#程序的执行就是一个进程,那么线程又应该怎么理解呢,我不要专业术语,因为我看不懂,请问最直白的话告诉我,谢谢。如:传送一个文件是一个进程,那么线程应该如何描述... 我知道一个c#程序的执行就是一个进程,那么线程又应该怎么理解呢,我不要专业术语,因为我看不懂,请问最直白的话告诉我,谢谢。如:传送一个文件是一个进程,那么线程应该如何描述 展开
 我来答
百度网友217a1b5
推荐于2016-10-20 · TA获得超过360个赞
知道小有建树答主
回答量:1415
采纳率:0%
帮助的人:434万
展开全部
进程就是将军,线程就是士兵。在打战这件事下,将军只是指挥,士兵才是真正厮杀干活的。
所以,一个进程中,至少会有一个线程,因为,光有人指挥不行,至少要有一个干活的。
线程就是士兵,所以它的作用就是干活,多个线程,就是可以同时干多个活。比如,有的侦查,有的打架,有的做饭。如果只有一个线程,那就要按顺序来做了,侦查完还要回来打架,打完还得做饭,这不得累死,肯定得输。
所以,传送一个文件是一个进程这描述,实际上是错的,我完全可以在一个将军的指挥下,派10个士兵去传送文件。
不知道解释的清楚吗?
追问
是不是可以把传送文件这件事交给10个线程来完成
追答
没错,比如有一个文件很大,一个人拿不动,要用马车,所以很慢。但是分成10分,每个士兵拿一些,不重,所以可以骑马去送,就快多了。当然,因为被分成了10分,所以文件的顺序被打乱了,需要在文件上做标识,1、2、3、4...这样对方在拿到全部后才知道该按什么顺序看。
匿名用户
2013-01-21
展开全部
就好比送一批货物一样:把货物从A全部送到B是一个进程,在送货的过程中每辆车送的过程是一个线程,就好像是进程说明了要做什么事,线程就是完成做这件事的每个过程细节
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
newxdlysk
2013-01-21
知道答主
回答量:20
采纳率:0%
帮助的人:15.5万
展开全部
进程是容器,线程是在容器里面干活的。不过.net里面不是完全按照一般意义上的进程和线程,还有纤程的概念
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
尼玛放肆MM
2013-01-21
知道答主
回答量:27
采纳率:0%
帮助的人:16.3万
展开全部
线程是操作系统常规多任务能力的一个组成部分并允许应用程序的一部分与其他对象的分别执行的一个特定对象。具体可以去这里http://www.csharpwin.com/csharpspace/7574r4551.shtml
看看,介绍的很好。
追问
我还不懂,什么应用程序的一部分与其他对象的分别执行的一个特定对象。一点也看不懂
追答
去那网址看 里面介绍的很详细
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风若远去何人留
推荐于2018-05-10 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450134
专业C/C++软件开发

向TA提问 私信TA
展开全部
线程(thread),有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。
线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但可与同属一个进程的其它线程共享进程所拥有的全部资源。
一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。
1 就绪状态是指线程具备运行的所有条件,逻辑上可以运行,在等待处理机;
2 运行状态是指线程占有处理机正在运行;
3 阻塞状态是指线程在等待一个事件(如某个信号量),逻辑上不可执行。
每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。
线程是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指运行中的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为多线程。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式