1. 电脑进程和线程
电脑任务管理器里分辨哪些进程是没用的,方法如下:一般除了自己正在使用的程序的进程,还有如下的关键系统进程,其他的都是没有用的:csrss.exe、ctfmon.exe、explore.exe、lsass.exe、services.exe、svchost.exe(有5个)、system、system Idle Process、winlogon。进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
2. 进程和线程的
1、运行方式不同
进程不能单独执行,它只是资源的集合。
进程要操作CPU,必须要先创建一个线程。
所有在同一个进程里的线程,是同享同一块进程所占的内存空间。
2、关系
进程中第一个线程是主线程,主线程可以创建其他线程;其他线程也可以创建线程;线程之间是平等的。
进程有父进程和子进程,独立的内存空间,唯一的标识符:pid。
3、速度
启动线程比启动进程快。
运行线程和运行进程速度上是一样的,没有可比性。
线程共享内存空间,进程的内存是独立的。
4、创建
父进程生成子进程,相当于复制一份内存空间,进程之间不能直接访问
创建新线程很简单,创建新进程需要对父进程进行一次复制。
一个线程可以控制和操作同级线程里的其他线程,但是进程只能操作子进程。
5、交互
同一个进程里的线程之间可以直接访问。两个进程想通信必须通过一个中间代理来实现。
3. 电脑的线程
四核心四线程,表示这个电脑的CPU核心是4个核心、4个线程的。
电脑CPU的核心数量和线程数量越多,则性能越好。
CPU核心:
CPU的中间就是我们平时称作核心芯片或CPU内核的地方,这颗由单晶硅做成的芯片可以说是电脑的大脑了,所有的计算、接受/存储命令、处理数据都是在这指甲盖大小的地方进行的。
线程:
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。就绪状态是指线程具备运行的所有条件,逻辑上可以运行,在等待处理机;运行状态是指线程占有处理机正在运行;阻塞状态是指线程在等待一个事件(如某个信号量),逻辑上不可执行。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。
线程是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指运行中的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为多线程。
4. 操作系统线程和进程
信号量在进程是以有名信号量进行通信的,在线程是以无名信号进行通信的,因为线程linux还没有实现进程间的通信,所以在sem_init的第二个参数要为0,而且在多线程间的同步是可以通过有名信号量也可通过无名信号,但是一般情况线程的同步是无名信号量,无名信号量使用简单,而且sem_t存储在进程空间中,有名信号量必须LINUX内核管理,由内核结构struct ipc_ids 存储,是随内核持续的,系统关闭,信号量则删除,当然也可以显示删除,通过系统调用删除,
消息队列,信号量,内存共享,这几个都是一样的原理。,只不过信号量分为有名与无名
5. 线程与进程
fork子进程本质上是一个进程,而线程是进程的一个执行序列。
6. cpu进程和线程
四线程和八线程指的计算机处理数据的能力,线程数量越高,计算速度就越快,不同如下:
一、物理核心数不同
1、四线程:CPU有4个物理核心
2、八线程:可以是CPU物理4核和物理8核。
二、任务管理器显示不同
1、四线程:任务管理器里就显示出4张CPU图表。
2、八线程:任务管理器会显示出8张CPU表。
7. 电脑进程和线程一样吗
线程的目的就是实现多个程序的并发运行。在多线程环境中,进程作为资源的独立单位,线程是进程的一个实体,是被进程调度的基本单位。进程间通信必须使用操作系统提供的进程通讯机制,而同一进程的各线程可以直接读写进程数据段进行通信淡然同样需要同步和互斥手段的辅助。以保证数据的一致性。另外同一进程的线程切换比进程切换快的多。线程包括内核级线程KTL 用户级线程UTL 混合式线程
8. 电脑进程和线程的区别
我不是专家。每个进程都至少有一个线程。 一般,系统创建一个进程的开销是比较大的,需要分配内存,内核资源等等。 不同进程间无法直接共享彼此拥有的这些资源。
而我们可以在同一进程内创建多个线程,这些线程相对来说‘轻量级’很多,它们可以共享所在进程的各种资源。
首先,粗略的说,你可以认为线程是 个‘轻量级’进程。用多线程模式,你可以很轻松的 实现 并行。 即,在多核 的设备上(如你有4核cpu), 你可以开4个线程,以便这4个核 能同时 为你这个 进程 的工作服务。
多进程没什么经验,以下是我的想法:多进程 相对多线程而言,里面每一个进程都更加独立, 它们可以不再同一个机器上。它们执行的代码也不同。
比如你找到了两个开源项目来为你的 某个功能服务,如果时间紧迫,,你可以开两个进程运行这两个项目,然后把结果传给你自己的 进程。
进程间数据传输方式很多, 简单的 可以写文件,用端口,,复杂的google下~~. 而且,你也可以配置成分布式系统,这个机器跑一个集成,另一个机器跑另一个等等。以上个人浅见。 坦白讲,我依然对进程和线程存有很多疑惑,我觉得如果想真正了解,先学操作系统原理
9. 关于线程和进程
进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。
线程:是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。
一个程序至少一个进程,一个进程至少一个线程。
10. 电脑进程和线程和句柄
比方win7系统中有很多窗口,控件等资源, 系统怎么去区分谁是谁窗口, 是通过句柄, 句柄是唯一的. 我们要在系统成百上千个窗口或控件中访问某一个, 也是通过句柄, 把它看成区别窗口或控件或其它资源(有窗口句柄,控件句柄,事件句柄,资源句柄,线程句柄等等)的ID.指针范围就广了, this是指向对象本身, 比如你在MFC程序OnInitDialog函数中写ShowWindow( ), 其实是this->ShowWindow( ), 只是在本对象中省略了this. (我认为把this看成me, 从字面上来看更好理解)对窗口,控件等而言, 句柄是this(或对象实例)的一个子集, this(或对象指针)包含本窗口句柄, 还有其它更多的东西.以上是我的看法, 通过例子更好理解