精华内容
下载资源
问答
  • C# 任务和线程的区别

    2020-01-15 11:23:58
    关于并发并行的区别,这里就不做介绍了,网上有很多资料。 1、线程池 创建任务的基本原理是使用线程池,也就是说任务最终也是要交给线程去执行的。但是微软优化了任务的线程池,使线程的控制更加精准高效。...

    任务即Task类,线程即Thread类。

    使用任务执行并行和并发代码是微软强烈推荐的,因为任务比线程的抽象级别更高,而且任务是并行的。关于并发和并行的区别,这里就不做介绍了,网上有很多资料。

    1、线程池

    创建任务的基本原理是使用线程池,也就是说任务最终也是要交给线程去执行的。但是微软优化了任务的线程池,使线程的控制更加精准和高效。对于需要频繁创建线程的程序来说,使用线程池无疑是最好的选择。因为创建一个线程需要消耗大量的系统资源,而线程池很好的解决了这个问题。当你使用线程池创建10个线程时,系统可能只创建了3、4个线程,因为线程池中的线程是可以循环使用的。下面举个例子说明一下:

     这里使用task创建了10个任务,但是系统只创建了4个线程。创建的线程数是根据个人电脑配置不同而不同的。

     再看一下使用Thread类创建线程的情况:

     可以看到这里创建了10个线程,而且在时间上也比使用任务创建线程的时间要长。

    这是任务和线程的区别之一,也是优势之一,下面介绍另一个区别

    2、并行

    我们知道现在的电脑CPU基本上都是多核的,并行就是很好的利用了多核,更加高效的利用了电脑的硬件资源。

    当我们使用task类创建一个任务时,这个任务默认就是并行执行的。而使用Thread创建多个线程时,默认是并发执行的。

    3、前台线程和后台线程

    task默认是后台线程,而thread默认是前台线程。关于前台线程和后台线程的区别这里不做介绍。

    当然我们也可以设置task为前台线程,Thread.CurrentThread.IsBackground,将IsBackground设置为false即可。

    我们也可以使用同样的属性把thread设置成后台线程。

    4、总结

    任务是微软强烈推荐处理多线程的有效类库,请尽可能使用任务创建多线程。

     

     

     

     

     

     

    展开全文
  • 网上查了查 (1) 进程线程的区别,(2)进程、线程、任务的区别: (1) 进程线程的区别 进程线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。 进程(Process)...

    线程和进程的区别;进程、线程、任务的区别?

    网上查了查 (1) 进程和线程的区别,(2)进程、线程、任务的区别:

    (1) 进程和线程的区别

    进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。

    进程(Process)和线程(Thread)的区别在于: 线程的划分尺度小于进程,使得多线程程序的并发性高。

    线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

    进程是指在系统中正在运行的一个应用程序;线程是系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元。

    对于操作系统而言其调度单元是线程。一个进程至少包括一个线程,通常将该线程称为主线程。一个进程从主线程的执行开始进而创建一个或多个附加线程,就是所谓基于多线程的多任务。

    进程与线程的重要区别在于线程不能够单独执行,它必须运行在处于活动状态的应用程序进程中。

    《 每个进程至少需要一个线程。
    l 进程由两部分构成:进程内核对象,地址空间。线程也由两部分组成:线程内核对象,操作系统用它来对线程实施管理。线程堆栈,用于维护线程在执行代码时需要的所有函数参数和局部变量。
    l 进程是不活泼的。进程从来不执行任何东西,它只是线程的容器。线程总是在某个进程环境中创建的,而且它的整个寿命期都在该进程中。
    l 如果在单进程环境中,有多个线程正在运行,那么这些线程将共享单个地址空间。这些线程能够执行相同的代码,对相同的数据进行操作。这些线程还能共享内核对象句柄,因为句柄表依赖于每个进程而不是每个线程存在。
    l 进程使用的系统资源比线程多得多。实际上,线程只有一个内核对象和一个堆栈,保留的记录很少,因此需要很少的内存。因此始终都应该设法用增加线程来解决编程问题,避免创建新的进程。但是许多程序设计用多个进程来实现会更好些。 》

    《线程是一种操作系统对象,代表着一个进程中要被执行的代码的路径。每一个WIN32应用程序至少有一个线程--通常称为住线程或默认线程--但应用程序可以自由地创建其他线程来执行其他任务!
    进程是程序的一次动态执行过程,它对应了从代码加载、执行到执行完毕的一个完整过程,这个过程也是进程本身从产生、发展到消亡的过程
    线程是比进程更小的执行单位。一个进程在其执行过程能够中,可以产生 多个线程,形成多条执行线索。每条线索,即每个线程也有它自身的产生、存在和消亡过程,也是一个动态的概念。
    一个程序应该只有一个进程吧,但是可以拥有多个线程。
    可以说,一个执文件被运行后,就可以称为是一个进程了。但是进程只是存在内存中,实际上他是不会做任何事情的。
    这个时候,起作用的就是线程了。线程是程序的执行者,一个程序至少有一个线程,但是在多线程的操作系统中,可以有一个以上的线程。

    其实我们可以把线程看成是我们排队买肯德鸡吃(循环的排队,一直排下去,知道我不想买了,退出)。每人都有机会到达队伍的最前端去买东西,这个就好比是线程,都有机会被程序执行。但是线程真正起作用的时候,就是我们在队伍的最前端买东西到东西买完后,这一段时间,这是线程真正执行的阶段。》

    (2)进程、线程、任务的区别:

    在32位的Windows系统中,术语多任务是指系统可以同时运行多个进程,而每个进程也可以同时执行多个线程。

    进程就是应用程序的运行实例。每个进程都有自己私有的虚拟地址空间。每个进程都有一个主线程,但可以建立另外的线程。进程中的线程是并行执行的,每个线程占用CPU的时间由系统来划分。

    可以把线程看成是操作系统分配CPU时间的基本实体。系统不停地在各个线程之间切换,它对线程的中断是汇编语言级的。系统为每一个线程分配一个CPU时间片,某个线程只有在分配的时间片内才有对CPU的控制权。实际上,在PC机中,同一时间只有一个线程在运行。由于系统为每个线程划分的时间片很小(20毫秒左右),所以看上去好象是多个线程在同时运行。

    进程中的所有线程共享进程的虚拟地址空间,这意味着所有线程都可以访问进程的全局变量和资源。这一方面为编程带来了方便,但另一方面也容易造成冲突。

    虽然在进程中进行费时的工作不会导致系统的挂起,但这会导致进程本身的挂起。所以,如果进程既要进行长期的工作,又要响应用户的输入,那么它可以启动一个线程来专门负责费时的工作,而主线程仍然可以与用户进行交互。


    简单的说,你每启动一个程序,就启动了一个进程。在Windows 3.x下,进程是最小运行单位。在Windows 95/NT下,每个进程还可以启动几个线程,比如每下载一个文件可以单独开一个线程。在Windows 95/NT下,线程是最小单位。WINDOWS的多任务特性使得线程之间独立运行,但是它们彼此共享虚拟空间,也就是共用变量,线程有可能会同时操作一片内存。

    所谓进程,本身不能执行,它只是一个资源的集合体,拥有地址空间,模块,内存,...
    线程是真正的执行单元,一个进程如果没有线程,那么就没有存在的意义,因为不可能执行。

    展开全文
  • 几乎所有操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中程序就是一个进程。 当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。 1、进程 进程是处于运行中...

    几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序就是一个进程。

    当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。

    1、进程

    进程是处于运行中的程序,具有一定的独立能力,是系统进行资源分配和调度的一个独立单位。

    进程的特点:

    • 独立性
      • 独立存在的实体,拥有自己独立的资源,拥有自己的私有地址;
      • 在没有经过进程本身允许的情况下,一个用户进程不能访问其它进程地址空间。
    • 动态性
      • 程序只是一个静态的指令集合,而进程是一个正在系统中活动的指令集合;
      • 进程在程序中加入了时间概念,具有自己的生命周期和各种不同的状态。
    • 并发性
      • 多个进程可以在单个处理器上并发执行,不会互相影响。

    2、线程

    线程是进程的执行单元,也称为轻量级进程。

    就像进程在操作系统中的地位一样,线程在程序中是独立、并发执行流,当进程被初始化后,主线程就被创建。

    线程的特点:

    • 线程是进程的组成部分,一个线程必须有一个父进程,一个进程可以拥有多个线程;
    • 一个程序运行后至少有一个进程,一个进程至少包含一个线程;
    • 线程可以拥有自己的堆、栈、局部变量,但不能拥有系统资源。
    • 多个线程共享父进程的全部资源,相互之间协作共同完成进程所要完成的任务;

    3、多线程

    多线程的运行方式:

    • 线程是独立运行的,它并不知道进程中是否还有其它线程存在;
    • 线程的执行是抢占式的,当前运行的线程在任何时候都可以被扶起,以便其它线程运行;
    • 一个线程可以创建和撤销另一个线程,同一个进程中的多个线程可并发执行;
    • 多线程扩展了多进程,使同一个进程可以同时并发处理多个任务。

    多线程的优点:

    • 进程之间不能共享内存,但线程之间共享内存很容易;
    • 系统创建进程需要重新分配系统资源、内存空间,但创建线程则很简单,因此用多线程来实现多任务并发比多进程效率高;
    展开全文
  • 1.进程是系统进行资源分配调度的一个独立单位,而线程则是进程的一个实体。是CPU调度分派的基本单位,它是比进程...2.进程与线程的区别 一个程序至少有一个进程,一个进程至少有一个线程. 线程的划分尺度小于...

    1.进程是系统进行资源分配和调度的一个独立单位,而线程则是进程的一个实体。是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.

    2.进程与线程的区别

    • 一个程序至少有一个进程,一个进程至少有一个线程.
    • 线程的划分尺度小于进程(资源比进程少),使得多线程程序的并发性高。
    • 进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率

    3.线程间可以共享全局变量资源,但是在进程中并不能共享全局变量资源

     

    转载于:https://www.cnblogs.com/zxh1297/p/9324737.html

    展开全文
  • 根据任务的大小,粒度不同,一个任务可以是一个进程,一个线程,或者是一个中断处理程序等。 一台冯诺依曼体系结构的计算机是有这五个部门构成:运算器、控制器、存储器、输入设备、输出设备。其中运算器、控制器...
  • 多线程是实现多任务的一种方式。 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。 线程是指进程中的一个...
  • 作业、任务、进程、线程的区别

    千次阅读 2017-02-22 00:00:19
    作业:最早出现在批处理系统中,指是用户向系统提交一项工作的基本单位,是用户在一次事务处理或计算过程中要求计算机所做工作的和 任务,简单说就是用户要求计算机所做一项工作,有时候进程也叫做任务这...
  • WIN7的任务XP的任务栏相比有很大的区别,下面我们就来看看WIN7中的变化。 WIN7的任务栏中没有了快速启动栏,这是因为WIN7中增加了一项新的功能,可以将桌面快捷方式附到任务栏,其方法很简单,只要将你想要附...
  • 进程线程主要区别(总结)

    万次阅读 多人点赞 2018-06-13 10:11:52
    根本区别:进程是操作系统资源分配的基本单位,而线程是任务调度执行的基本单位在开销方面:每个进程都有独立代码数据空间(程序上下文),程序之间切换会有较大开销;线程可以看做轻量级进程,同一类...
  • js中的基本类型引用类型有哪些,有什么区别? 这里是修真院前端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析...
  • Atitit 知识发现 艾提拉总结 ...1.2. 基本任务 3 1.2.1. 数据分类 3 1.2.2. 数据聚类 3 1.2.3. 衰退预报 3 1.2.4. 关联相关性 3 1.2.5. 顺序发现 3 1.2.6. 描述辨别 3 1.2.7. 时间序列分析 4 2...
  • 栈内存堆内存:https://segmentfault.com/a/1190000015118062 ... 变量:内存中存储一个数据存储空间,再起一个名字 ...函数:内存中封装一项任务步骤清单代码段,再起一个名字。 函数名其实仅是引用函数对...
  • 线程进程的区别

    2021-02-18 16:56:43
    同一个进程多个线程共享该进程资源操作系统分配给该进程内存空间。 每个进程必须有一个主线程,主线程退出之后该进程也就退出了。 一个进程主线程是由系统创建。 在单CPU中,表面上看好像是多个...
  •  编写简单,可以直接操纵线程使用Callable接口Runnable接口创建线程的区别CallableRunnable接口规定方法 call()Run()任务执行后可返回值不可返回值call()方法可抛出异常Run()方法不可抛出异常运...
  • 进程作业的区别

    2020-07-15 16:00:37
    进程作业的区别 作业是用户需要计算机完成某项任务而要求计算机所做工作的集合。一个作业的完成要经过作业提交、作业收容、作业执行作业完成4个阶段。而进程是已提交完毕的作业的执行过程,是资源分配的基本单位...
  • 任务和项目的区别: 任务下的行动基本由自己独立完成,而项目可能是由多个人共同完成的 一个任务的关注重点是事情的本身,做一个项目关注的重点是与人的沟通协调 行动关注事情的执行,搞定任务的终点...
  • 进程线程的区别

    2019-10-03 10:05:49
    进程线程的区别 进程能够完成多任务,比如在一台计算机上 可以同时登陆运行很多个qq,只要计算机的运存足够大。 线程也能够完成多任务,比如,在一个qq中可以同时与多人聊天,开启多个聊天窗口。 定义的不同 ...
  • Postget的区别

    2019-06-26 15:55:33
    Postget的区别 本次任务完成时间:2019年06月28日 开发工具与关键技术:Visual Studio 2015 && postget的区别 展示效果:postget的区别 首先来了解一下postget,这两个都是HTTP协议的请求方法,...
  • 三、进程线程的区别和联系 进程是一个应用程序在处理机上的一次执行过程,它是一个动态的概念,而线程是进程中的一部分,进程包含多个线程在运行。 地址空间其他资源:进程间相互独立,同一进程的各线程间共享
  • 利用搜索引擎搜索所需信息 登录主流移动商务网站注册账号 比较移动商务网站电脑版移动终端版本的区别 主流移动商务网站的比较 任务一 移动商务的基本信息检索与分析 目录 2 登录主流移动商务网
  • 文章目录进程、线程对比功能定义不同区别优缺点 ...线程是进程一个实体,是CPU调度分派的基本单位,它是比进程更小能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少...
  • 进程线程的区别和联系

    千次阅读 2018-12-17 19:31:27
    线程进程的区别和联系: 联系: 1.两者都是多任务编程方式,都能使用计算机的多核资源 2.一个进程可以创建多个线程分支,两者之间存在包含关系 3.进程线程在系统中都有自己特有的属性,ID,代码段,栈区等资源 区别: 1...
  • 搭建如图所示拓补,并对中心路由器2911完成基本接口配置DHCPv4DHCPv6配置 配置主机 主机PC0配置: 主机PC1配置: 主机B通过DHCPv4成功获取了IPv4地址 通过无状态地址自动获取了IPv6地址,受用了...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,952
精华内容 780
关键字:

任务和基本任务的区别