首页 > 其他分享 >10月31日线程基础

10月31日线程基础

时间:2023-10-31 11:13:07浏览次数:40  
标签:10 操作系统 一个 31 线程 内存 进程 流水线

目录

线程基础

线程的概念

在操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程

线程顾名思义,就是一条流水线工作的过程,可以这么想一条流水线必须属于一个车间,一个车间的工作过程就是进程

如果把操作系统当成一个工厂

操作系统 == 工厂

进程 == 车间

线程 == 流水线(需要电源)

cpu == 电源

现在操作系统是一个工厂,该工厂有多条流水线,流水线工作需要电源,电源只有一个cpu(单核)

一个车间就是一个进程,一个车间至少一条流水线

创建一个进程,就是创建一个车间(申请空间,该空间内至少一条流水线)

结论就是每开启一个进程就会有一条线程

进程之间是竞争关系,线程之间是什么关系

进程与进程的关系是竞争关系

同样不同进程的线程之间是竞争关系,相反同一个进程里的线程是协作关系。

还有一个特别的地方不同进程的线程也可以是协作关系,但是需要用到进程间通信(IPC)机制如套数字、管道、消息队列、共享内存,但是会很麻烦

纠正概念

进程不是一个执行单位,进程是一个资源单位

同时进程之间的内存隔离空间是专门存这个进程运行过程当中一些相关的数据

然后进程申请空间,然后运行代码,那运行代码的过程我们就抽出来了叫线程的执行。

每个进程都自带一个线程,线程才是cpu上的执行单位,之前说切换,实际上是切换的是线程,cpu会在多个线程间切换

进程与线程的区别是什么?

线程 == 单指代码的执行过程

进程 ==资源的申请与销毁的过程

最大的区别在于:

1.内存共享与内存隔离

​ 1.同一个进程下的线程有内存共享

​ 2.同一个操作系统下的进程有内存隔离

2.创建速度:

​ 造线程的速度,要快于造进程

标签:10,操作系统,一个,31,线程,内存,进程,流水线
From: https://www.cnblogs.com/slzjb/p/17799787.html

相关文章

  • 【NO.98】LeetCode HOT 100—621. 任务调度器
    题目:621.任务调度器给你一个用字符数组tasks表示的CPU需要执行的任务列表。其中每个字母表示一种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在1个单位时间内执行完。在任何一个单位时间,CPU可以完成一个任务,或者处于待命状态。然而,两个相同种类的任务之间......
  • 【NO.99】LeetCode HOT 100—647. 回文子串
    题目:647.回文子串给你一个字符串s,请你统计并返回这个字符串中回文子串的数目。回文字符串是正着读和倒过来读一样的字符串。子字符串是字符串中的由连续字符组成的一个序列。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。示例1:输入:s=“......
  • 【NO.100】LeetCode HOT 100—739. 每日温度
    题目:739.每日温度给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。示例1:输入:temperatures=[73,74,75,71,69,72,76,73]输出:[1,1,4,2,1,1......
  • 多线程,多进程,协程,IO多路复用
    关于PythonPython有多进程,且原生支持协程,但是由于GIL全局锁的存在,Python只有假多线程,即单线程轮流执行多个任务,常用于IO任务的阻塞等待当中。多线程即一种基于内核态工作的异步运行方式。对于多核CPU而言,只有多线程和多进程才能真正的充分调用CPU的多核工作。但是由于用户态向......
  • AtCoder Beginner Contest(abc) 311
    B-VacationTogether难度:⭐题目大意给定n个人的工作计划,'o'表示这天休息,'x'表示工作;请找出一段最长的所有人都休息的连续休息的天数;解题思路数据不大,暴力即可;神秘代码#include<bits/stdc++.h>#defineintlonglong#defineIOSios::sync_with_stdio......
  • 2023.10.30
    运行超市抹零结账行为代码如下:1print("3107")2money=39.87+24.47+78.07#计算总金额3money_str=str(money)4print("商品总金额:"+money_str)5print("实收金额:{:.0f}".format(money))#进行抹零行为结果如下:计算学生成绩的分差和平均分代码如下:......
  • 文心一言 VS 讯飞星火 VS chatgpt (124)-- 算法导论10.5 5题
    五、用go语言,给定一个n结点的二叉树,写出一个O(n)时间的非递归过程,将该树每个结点的关键字输出。要求除该树本身的存储空间外只能使用固定量的额外存储空间,且在过程中不得修改该树,即使是暂时的修改也不允许。文心一言:您可以使用一个栈来存储节点,以便在遍历二叉树时进行回溯。由于您......
  • 102102151黄靖数据采集实践三
    作业一(1)要求:使用单线程和多线程的方法爬取中国气象网的限定数量的图片(2)下面给出代码实现:weather.pyimportscrapyfrom..itemsimportWeatherItemclassweatherSpider(scrapy.Spider):page=0number=0user_agent="Mozilla/5.0(WindowsNT10.0......
  • Lock实现线程间定制化通信
    Lock实现线程间定制化通信案例要求三个线程,AABBCCAA线程打印5次,BB线程打印10次,CC线程打印15次代码实现importjava.util.concurrent.locks.Condition;importjava.util.concurrent.locks.Lock;importjava.util.concurrent.locks.ReentrantLock;/***@author长名06......
  • 10.30
    今天Java考试部分代码如下packagebean;publicclassBean{privateintid;privateStringname;privateStringgaishu;privateStringfangshi;privateStringstarttime;privateStringfianltime;privateStringgongyi;publicvoidsetId......