系统编程 day11 进程(线程)3
fork函数的总结:
总结对进程学习之中的回收函数wait
wait函数:
1.获取子进程的退出状态
2.回收资源------会让僵尸态的子进程销毁
注:1.wait函数本身是一个阻塞操作,会使调用者阻塞
2.父进程要获得子进程的退出状态
子进程:
exit函数(退出状态值)
退出状态值,只有最低8位有效(16进制的255)
父进程:
函数wait()
获取得到退出状态值
if(WIFEXITED())为真
WEXITSTATUS()再获得exit的退出状态值
waitpid函数:
功能:等待子进程状态发生变化
参数1:pid > 0
表示等待指定的子进程状态改变
pid = -1
表示等待所有子进程状态改变
参数2:wstatus:表示获取到子进程状态信息
参数3:options:可以不阻塞------不阻塞传宏WNOHANG,不传是默认为阻塞
wait(&wstatus) = waitpid(-1,&wstatus,0)
非阻塞调用:
waitpid(-1,&wstatus,WNOHANG)
非阻塞和阻塞:
1.阻塞:会影响父进程处理逻辑
2.非阻塞:父进程会去查看子进程状态发生改变,但是如果没有发生改变,父进程不阻塞,继续往下执行
非阻塞必须套在循环中处理 ==== 轮询
小总结:
--------------------------------------------------------------------------------------------------------------------------------
多任务技术:线程
概述:
什么是线程:
线程------轻量级的进程
进程------重量级的进程
线程需要的资源少,创建的速度和效率比进程高
线程成为cpu执行的最小单元
进程成为资源分配的基本单位
线程的组成:
线程tid,程序计数器,寄存器集合,栈
线程与进程的关系:
a.线程是存在于进程之中的
b.线程共享了进程的资源
c.线程结束,不一定导致进程结束,反之,线程一定结束
线程的编程(类似于进程的编程):
1.线程的创建:
函数pthread_create
参数1:thread:线程tid
参数2:attr:线程属性,一般是NULL,表示默认属性(可结合性+分离属性)
可结合属性:手动回收
分离属性:系统自动回收
参数3:start_routine-------线程执行函数(线程回调函数)
(指向指针函数的函数指针)
是线程的回调函数,是线程的执行空间
参数4:arg,回调函数的参数
函数pthread_create 返回值:成功为0,失败为错误码
gcc时后必须加-lpthread
线程的退出:
函数pthread_exit()
功能:结束调用的线程
资源回收:
pthread_join()
功能:等待线程结束
参数1:thread------线程tid
参数2:retval------用来保存退出状态值所在空间的地址
函数
相关文章:

系统编程 day11 进程(线程)3
fork函数的总结: 总结对进程学习之中的回收函数wait wait函数: 1.获取子进程的退出状态 2.回收资源------会让僵尸态的子进程销毁 注:1.wait函数本身是一个阻塞操作,会使调用者阻塞 2.父进程要获得子进程的退出状态 子进程&…...

[ Python 原理分析 ]如何实现用户实现博客文章点赞-物联网Python
目录 一、前言 二、Python爬虫 三、详细操作 3.1 建立基本工程 3.2 获取文章列表 3.2.1 找到获取文章请求 3.2.2 分析获取请求 3.2.3 构建获取请求 3.2.4 调试打印 3.3 实现点赞操作 3.3.1 判断点赞状态 3.3.2 找到点赞请求 3.2.3 分析点赞请求 3.2.4 构建点赞请…...

【47 Pandas+Pyecharts | 杭州二手房数据分析可视化】
文章目录 🏳️🌈 1. 导入模块🏳️🌈 2. Pandas数据处理2.1 读取数据2.2 过滤数据2.3 行政区处理2.4 地址处理2.5 房屋信息处理2.6 面积处理2.7 楼层处理2.8 年份处理2.9 房价处理2.10 删除不用的列2.11 数据类型转换2.12 查看…...

C++入门基础知识13
C 的关键字(接上一篇博文)!! 10. const_cast用法: 该运算符用来修改类型的 const 或 volatile 属性。除了 const 或 volatile 修饰之外, type_id 和 expression 的类型是一样的。常量指针被转化成非常量指针…...

IP地址证如何实现HTTPS访问?(内网IP、公网IP)
IP地址证书(全称为IP地址的SSL/TLS证书)是实现通过IP地址进行HTTPS访问的关键。以下是实现这一目标的详细步骤: 一、选择证书颁发机构(CA) 1.选择支持IP证书的CA:并非所有证书颁发机构都提供为IP地址颁…...
东土科技车规级网络芯片获批量应用
东土科技孵化的我国第一颗国产汽车芯片名录的车规级TSN交换网络芯片,于近期获得国家新能源汽车技术创新中心10万片芯片订单,将规模化应用于车载网关,赋能新一代自主可控汽车网络通信架构。 车规级TSN交换网络芯片于2021年流片成功࿰…...
nvidia系列教程-AGX-Orin pcie扩展M.2磁盘调试笔记
目录 前言 一、AGX-Orin pcie接口介绍 二、原理图连接 三、SDK配置 四、M.2磁盘调试 总结 前言 NVIDIA Jetson AGX Orin 是一款强大的嵌入式平台,广泛应用于 AI 推理、机器人和自动驾驶等领域。在扩展存储方面,PCIe 接口的 M.2 SSD 是一个常见的选择。本篇博客将记录如何…...

haproxy七层代理知识点以及各种配置
1.为什么用haproxy 当后端主机有一个出现问题了的时候,我们需要访问的流量全部打到正常工作的后端主机,所以我们需要后端检测,lvs没有后端检测,所以就需要用到haproxy 2.负载均衡 2.1 什么是负载均衡 负载均衡,Loa…...

uniapp自定义浮动图标、列表布局
uniapp自定义浮动图标 <button class="fab" @click="goPage"><image src="../../../static/yiyuan.png" mode="" style="width: 60rpx;height:60rpx;"></image></button>.fab {z-index: 100;positi…...

学习嵌入式入门(十)高级定时器简介及实验(下)
一、高级定时器互补输出带死区控制实验 上图中,CH1 输出黄色的 PWM,它的互补通道 CH1N 输出绿色的 PWM。通过对比,可以 知道这两个 PWM 刚好是反过来的,CH1 的 PWM 为高电平期间,CH1N 的 PWM 则是低电平, 反…...
使用python在不改变原有excel的格式下,修改指定单元格格式
需求 有一个账单,需要生成一个副本,但是需要将交易员列隐藏,不能改变原有的格式 xlsx的文件容易实现,使用openpyxl实现 xls的文件使用xlrdxlutil实现 参考了https://segmentfault.com/q/1010000008270267 class GenCopyReport(o…...

MySQL数据库:详细安装与配置指南
目录 背景: 一.下载过程(MySQL数据库): 二.安装过程(MySQL数据库): 三.验证MySQL是否安装成功 背景: MySQL 是一个流行的开源关系数据库管理(RDBMS),由瑞典MySQL AB公司开发,后俩该公司被Sun Microsystems收购,Sun Microsyste…...
python爬虫代理IP实战
Python爬虫代理IP实战指南 在进行网络爬虫时,使用代理IP可以有效隐藏真实IP地址,避免被目标网站封禁。本文将通过实际示例,展示如何在Python中使用代理IP进行网络爬虫。 1. 环境准备 首先,确保您已安装Python和所需的库。在本示…...
样式,常用组件
3、代码实现登录的思路 设置属性的成员方法都有统一的命名规范: set()//就是某种属性的名字 父窗口:组件嵌套到那个主窗口中,这个主窗口就是父窗口 第一步:创建一个标签对象用来显示登录界面的标题 QLabe…...

Django Project | 云笔记练习项目
文章目录 功能整体架构流程搭建平台环境子功能先创建用户表 并同步到数据库1.用户注册密码存储 -- 哈希算法唯一索引引发的重复问题 try登陆状态保持 -- 详细看用户登录状态 2. 用户登录会话状态时间 cookie用户登录状态校验 3. 网站首页4.退出登录5.笔记模块 列表页添加笔记 …...
Zookeeper的监听机制
Zookeeper的监听机制是Zookeeper框架中一个至关重要的功能,它实现了分布式系统中数据状态变化的实时通知,使得客户端能够及时响应并处理这些变化。下面将详细解析Zookeeper的监听机制及其原理,包括监听器的注册、事件通知的处理、监听器的特点…...
Swift withAnimation 动画完成监听
在ios17中withAnimation有completion方法可以监听动画完成,但是低于ios17没有,需要自定义一个监听器,原理就是通过AnimatableModifier可以监听到值的didSet修改,我们就可以调用回调函数。 代码 // 动画完成监听 struct Animatabl…...

场外期权交易:找到适合你的那一款
各位期权爱好者们!今天咱们来聊聊在进行场外期权交易时,怎么去评估和选择适合自己风险承受能力的期权产品。 第一,你得对自己有个清楚的认识。想想看,你是那种激进型的冒险家,还是保守型的稳健派呢?了解自己…...

Elasticsearch-使用java 批量插入文档
首先创建两个实体类,用于存放所需值 开始编写接口,这里我使用的是RestController风格,然后使用PostMapping注解,入参根据自己的需求自定义,没有固定规范 这里实现接口的方法 然后重写接口中的方法(编写核心…...

【区块链+食品安全】农业产业全过程溯源云平台 | FISCO BCOS应用案例
近年来,食品安全问题频发,尤其疫情期间,海鲜、冷冻畜牧产品的入口安全成为大众关注焦点,追溯、确保相关产品生产、运输、售卖等环节的信息真实、有效,成为保证食品安全的核心环节。浙江天演维真网络科技股份有限公司基…...

使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...

佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...

LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】
大家好,我是java1234_小锋老师,看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】,分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...

基于Java+VUE+MariaDB实现(Web)仿小米商城
仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...

mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...