首页 > 系统相关 >进程、线程

进程、线程

时间:2023-04-08 23:01:35浏览次数:39  
标签:后台 用户 孤儿 线程 内核 进程

1、进程、线程区别

进程是以资源分配的基本单位,线程是CPU调度的基本单位。

进程有自己独立的地址空间,线程属于进程,没有独立的地址空间。

进程上下文切换大、线程上下文切换小。

2、进程、线程分类

进程分类:

(1)、按进程特点:

  交互式进程:由shell终端启动的进程,常与用户交互。可位于前台和后台。

  批处理进程:进程序列,按顺序启动其他进程。不必与用户交互,常位于后台。

  守护进程:独立于控制终端、周期性执行某种任务或等待处理某些发生的事件。一直位于后台,系统关闭时才终止。

(2)、按进程状态:

  孤儿进程:父进程退出,子进程变成孤儿进程,父进程变为init进程,由init进程收养。守护进程是一种特殊的孤儿进程。

  僵尸进程:子进程退出需通知父进程,由父进程释放,此时为僵尸进程,它位于内核中的task_struct并未释放。

线程分类:

用户线程:在用户空间实现的线程,不是由内核管理,由用户态线程库管理

内核线程:内核中实现的线程,由内核管理

轻量级进程LWP:内核中支持用户线程

3、进程、线程通信方式

4、为什么通信方式不同

标签:后台,用户,孤儿,线程,内核,进程
From: https://www.cnblogs.com/fei1013/p/17299482.html

相关文章

  • C++多核多线程同步实现
    使用MakefileC++11工程模拟dsp的多核同步逻辑,使用多线程模拟多核,多个线程通过C++11的条件变量实现同步。当某一线程执行到同步函数syn_func时,判断是否其他线程执行到此处了,若有其他线程没有执行到此处,本线程就应阻塞。当最后一个线程执行到同步函数时,通知所有线程解除阻塞,实现......
  • C++ 并发编程实战 第二章 线程管控
    第二章线程管控std::thread简介构造和析构函数///默认构造///创建一个线程,什么也不做thread()noexcept;///带参构造///创建一个线程,以A为参数执行F函数template<classFn,class...Args>explicitthread(Fn&&F,Args&&...A);///拷贝构造(不可用)thread......
  • 自定义线程池详解
    自定义线程池ThreadPoolExecutorexecutor=newThreadPoolExecutor(5,10,200,TimeUnit.MILLISECONDS, newArrayBlockingQueue<Runnable>(5));第一个参数:核心线程池大小,默认创建后就不会销毁,需要设置allowCoreThreadTimeOut为true时会销毁第二个参数:线程池最大大......
  • 面试题百日百刷-HBase中HTable API有没有线程安全问题,在程序是单例还是多例?
    锁屏面试题百日百刷,每个工作日坚持更新面试题。请看到最后就能获取你想要的,接下来的是今日的面试题: 1.HBase内部机制是什么?Hbase是一个能适应联机业务的数据库系统物理存储:hbase的持久化数据是将数据存储在HDFS上。存储管理:一个表是划分为很多region的,这些region分布式地......
  • 操作系统(2.7)--进程的引入
    1.进程的两个基本属性进程的两个基本属性:①进程是一个可拥有资源的独立单位;一个进程要能独立运行,它必须拥有一定的资源。②进程同时又是一个可独立调度和分派的基本单位,使之成为一个能独立运行的基本单位,从而也就构成了进程并发执行的基础。然而,由于进程是一个资源的拥有者,因而在......
  • 在android的fragment中使用子线程查询的数据如何实时更新在主界面的listview中
    主要是使用handler来对ui界面进行实时更新 public class YourFragment extends Fragment {    private ListView mListView;    private YourAdapter mAdapter = new YourAdapter(getContext(), new ArrayList<YourData>());//注意这一步的初始化如果闪......
  • 协程 goroutine,线程,进程,GPM,的介绍
    前言:进程,线程,协程,并发,并行介绍正文:线程,进程介绍:1.线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;2.一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线3.进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间4.调度和切换:线程上......
  • IO流中「线程」模型总结
    IO流模块:经常看、经常用、经常忘;一、基础简介在IO流的网络模型中,以常见的「客户端-服务端」交互场景为例;客户端与服务端进行通信「交互」,可能是同步或者异步,服务端进行「流」处理时,可能是阻塞或者非阻塞模式,当然也有自定义的业务流程需要执行,从处理逻辑看就是「读取数据-业务......
  • 实战-JAVA应用程序CPU占用率飙升,定位线程的堆栈信息
    分以下几个步奏:(1)使用命令top-p<pid>,显示你的java进程的cpu情况,pid是你的java进程号,比如14203。(使用jps可以获取到java的进程id或者top直接查看)(2)按H,获取每个线程的CPU情况。(shirt+H)(3)找到内存和cpu占用最高的线程tid,比如14204。(4)转为十六进制得到377C,此为线程id的十六进......
  • 线程池execute 和 submit 的区别
    1.execute和submit的区别前面说了还需要介绍多线程中使用execute和submit的区别(这两个方法都是线程池ThreadPoolExecutor的方法)。1.1方法来源不同execute方法是线程池的顶层接口Executor定义的,在ThreadPoolExecutor中实现:voidexecute(Runnablecommand);su......