首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏刘晓杰

    8(进程控制)

    则取得该进程的终止状态并立即返回 (3)如果没有子进程,则立即出错返回 两者区别: 1.子进程终止前,wait使其调用者阻塞,而waitpid有一个选项,可使调用者不阻塞 2.Waitpid有若干选项,可以控制它所等待的进程

    65920发布于 2019-02-21
  • 来自专栏技术进阶之路

    信号机制实现进程控制

    一、信号机制实现进程互斥 我们将一次仅允许一个进程访问的资源称为临界资源,而临界区是指访问临界资源的那段代码。 通常将互斥信号设置为 mutex ,初始值为 1。 为什么初始值设置为 1 呢? 对于不同的临界资源,需要设置不同的互斥信号。 这里来看一段代码: semaphore mutex = 1; // 初始化信号 P1(){ ... 二、信号机制实现进程同步 进程同步的目的就是要让并发进程按照要求有序地推进。 我们可以设置一个同步信号 S=0; 然后在前一个操作之后执行 V 操作,在后一个操作之前执行 P 操作。 三、信号机制实现前驱关系 前驱图如下所示: ? 即有 6 个代码,需要按照图中的顺序执行。

    1K10发布于 2020-11-24
  • 来自专栏笔记分享

    SPI控制8_8点阵屏

    实现SPI控制LED点阵 SPI部分 SPI并没有直接控制灯的高低电平,而是告诉从机,让从机去实现。 SPI_NSS设置由硬件控制还是软件控制。在此设置为软件(据课程老师说更常用)。 发送数据 这是SPI部分,看上去跟之前写的USART没有什么区别。 亮度寄存器中的D0~D3位可以控制LED显示器的亮度。 扫描界限寄存器(地址0BH):该寄存器中D0~D3位数据设定值为0~7H,设定值表示显示器动态扫描个数位1~8。 译码方式寄存器(地址09H):该寄存器的8位二进制数的各位分别控制8个LED显示器的译码方式。当高电平时,选择BCD-B译码模式,当低电平时选择不译码模式(即送来数据为字型码)。 uint8_t smile[8] = {0x3C,0x42,0xA5,0x81,0xA5,0x99,0x42,0x3C}; int main(void) { MAX7219_Init(); uint8

    66610编辑于 2024-02-17
  • 来自专栏老司机的技术博客

    golang学习笔记8:控制结构

    关键字 if 和 else 之后的左大括号 { 必须和关键字在同一行,如果你使用了 else-if 结构,则前段代码块的右大括号 } 必须和 else-if 关键字在同一行。这两条规则都是被编译器强制规定的。

    67630发布于 2018-11-06
  • 来自专栏Ywrby

    8-TCL事务控制语言

    TCL语言 事务控制语言 Transaction Control Language 事务控制语言 事务: 一个或一组sql语句组成的一个执行单元,这个执行单元要么全部执行,要么全部不执行。 并发执行的各个事务之间不能互相干扰 Durability 持久性:持久性指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来的其他操作和数据库故障不应该对其有任何影响 # TCL语言 事务控制语言 /* Transaction Control Language 事务控制语言 事务: 一个或一组sql语句组成的一个执行单元,这个执行单元要么全部执行,要么全部不执行。

    97410编辑于 2022-10-27
  • 来自专栏云原生实验室

    使用 wrk 压测并精细控制并发请求

    在之前的文章使用 wrk 完成简单的自定义动态请求[1], 我介绍了如何使用 wrk 制造随机请求, 也给出了 lua 脚本的使用方式, 这篇博客主要想介绍下在压测时如何利用 wrk 精细控制并发请求 . wrk 的参数 wrk 中并没有 qps 控制的选项, 它只能控制连接数目, 指定的连接数会平均分配到每个线程 Usage: wrk <options> <url> Options: - 这个程序在达到 13~14k 之后已经到了瓶颈, 这个时候, 我只能保留这个程序的请求, 加入另一个程序用于压测. 如果 CPU 再好一点的话, 我觉得并发可以更高. 如果觉得我压测方法不科学或者有其他想讲的, 可以在评论里面说, 我看看是不是过程有问题. %E5%8E%8B%E6%B5%8B%E5%B9%B6%E7%B2%BE%E7%BB%86%E6%8E%A7%E5%88%B6%E5%B9%B6%E5%8F%91%E8%AF%B7%E6%B1%82%E9%

    5K40发布于 2021-05-10
  • 来自专栏网络安全攻防

    K8s Rootkit集群控制

    使用到的技术主要有以下几个: kube-proxy镜像(就地取材) 动态容器注入(高隐蔽性) Meterpreter(流量加密) 无文件攻击(高隐蔽性) DaemonSet和Secret资源(快速持续反弹、资源分离) K8S 渗透 常见的K8S集群如下所示: 常见的K8S的渗透路径: 形象的K8S的渗透过程: 集群控制 我们控制一个Kubernetes集群需要经过以下几个阶段: Web渗透 >> 提权 >> 逃逸 >> 如果此时的Master参与Pod调度,那么我们可以利用DaemonSet资源特性(如果有Pod挂掉,DaemonSet控制器将自动重建该Pod),自动在所有节点上均部署一个Pod实例,同时将把DaemonSet 和反弹shell结合在一起实现反弹shell控制节点的目的,下面是一个实例: apiVersion: apps/v1 kind: DaemonSet metadata: name: attacker spec 逃逸并控制节点

    54130编辑于 2023-10-23
  • 来自专栏Devops专栏

    8.Condition 控制线程通信

    8.Condition 控制线程通信 前言 前一篇我们讲述了 同步锁 Lock,那么下面肯定就要讲解一下 同步锁 Lock 如何控制线程之间的通讯。 不过,在讲解 同步锁 Lock 通讯之间,我们首先来回顾一下 基本同步控制之间的线程声明周期,如下图: image-20200822082951771 可以看到上面有很多通讯的方法. 这些就是控制线程间通讯的方法。 image-20201103220804721 7.4 测试执行 在生产与消费方法中,使用 while 解决了 虚假唤醒之后,下面来执行看看,如下: image-20201103220928349 8.

    50410编辑于 2022-03-23
  • 来自专栏java-zfx

    b代码构成8-控制语句

    控制语句 (1) 逻辑结构 顺序结构 选择结构 循环结构 (2)语句块 语句块(有时叫做复合语句),是用花括号扩起的任意数量的简单Java语句。块确定了局部变量的作用域。 流程图如图8-3-3所示:

    8-3-3
    示例: public class Test5 { public static void main(String[] args do-while循环结构流程图如图8-4-2所示: 流程图:
    8-4-2
    示例: public class Test8 { public static void System.out.print(i+"、"); } System.out.println(); } } Java里能用到逗号运算符的地方屈指可数,其中一处就是for循环的控制表达式 在控制表达式的初始化和步进控制部分,我们可以使用一系列由逗号分隔的表达式,而且那些表达式均会独立执行。

    51420编辑于 2023-10-19
  • 来自专栏谢公子学安全

    K8s API访问控制

    表示使用用户配置的授权规则对用户请求进行匹配和控制,它是K8s 1.6之前的默认策略,现在已经被RBAC代替。 · RBAC(Role-Based Access Control):基于角色的访问控制,它是目前K8s默认的授权策略。 原因在于K8s 的若干重要功能(如创建、删除等高危操作)都要求启用一个准入控制器,以便正确地支持该特性。 因此,没有正确配置准入控制器的 K8s API 服务器是不完整的,它无法支持你所期望的所有特性。 那么如何启用一个准入控制器呢? ,强烈推荐为 K8s 项目启用此准入控制器。

    2.8K30编辑于 2023-02-27
  • 来自专栏全栈程序员必看

    SDRAM控制器设计(8)SDRAM控制器仿真验证

    大家好,又见面了,我是你们的朋友全栈君 到此,简单的可进行读写操作的 SDRAM 控制器模块就设计好了。 接下来,结合仿真模型(镁光官网提供的 SDRAM 模型)sdr文件,和编写的 testbench 文件验证所设计的控制器是否正确。 wire [`BSIZE-1:0] sdram_bank; wire [`ASIZE-1:0] sdram_addr; wire [`DSIZE-1:0] sdram_dq; wire [`DSIZE/8- 8,列选通潜伏期设置为 2。 观察比较写入与读出数据来验证控制设计是否正确。

    1.2K30编辑于 2022-09-16
  • 来自专栏AI人工智能

    智能体性能优化:延迟、吞吐与成本控制

    智能体性能优化:延迟、吞吐与成本控制 Hello,我是摘星! 在彩虹般绚烂的技术栈中,我是那个永不停歇的色彩收集者。 每一个优化都是我培育的花朵,每一个特性都是我放飞的蝴蝶。 随着大语言模型和智能体技术的快速发展,如何在保证服务质量的前提下优化系统性能、控制运营成本,已成为每个AI从业者必须面对的核心挑战。 通过深入分析延迟(Latency)、吞吐(Throughput)和成本控制(Cost Control)三大关键指标,我将分享在实际项目中积累的优化经验和技术方案,帮助读者构建高性能、低成本的智能体系统 self.model, {torch.nn.Linear}, # 量化线性层 dtype=torch.qint8 'maintenance': 5000 # 5千元维护成本}roi_calc.benefits = { 'cost_savings': 8000, # 每月节省8千元

    56010编辑于 2025-07-21
  • 来自专栏golang云原生new

    k8s 认证和权限控制

    k8s 的认证机制是啥? 说到 k8s 的认证机制,其实之前咋那么也有提到过 ServiceAccouont ,以及相应的 token ,证书 crt,和基于 HTTP 的认证等等 k8s 会使用如上几种方式来获取客户端身份信息 ,这是代表了运行的 pod 中的应用程序的身份证明,每一个 pod 都是会有一个 ServiceAccoount 与之关联的 我们可以理解 ServiceAccoount 不是什么也别的东西,也是 k8s ServiceAccount, 不在同一个命名空间,根本无法操作 自行创建一个 SA kubectl create sa xmt 创建一个 SA 名为 xmt 查看上述 xmt SA 的信息,k8s kubernetes.io/serviceaccount/namespace": "default", "kubernetes.io/serviceaccount/secret.name": "xmt-token-kbv8b

    38620编辑于 2023-09-01
  • 来自专栏Ywrby

    8-进程的状态,控制与通信

    双核环境下可以有两个进程处于运行态 就绪态 Ready 已经具备运行条件,但由于没有空闲CPU,而暂时不能运行 注意这里所说的具备运行条件是指进程已经拥有了除CPU以外的所有需要的资源,包括所需要的设备的控制权限 ,缺少的只有CPU的控制权 阻塞态 Waiting/Blocked 又称等待态,因等待某一事件而暂时不能运行 例如,等待操作系统分配打印机的控制权限,读取磁盘操作的请求等。 终止态 Terminated 进程正在从系统中撤销,操作系统回收进程拥有的资源,撤销PCB 可能是由于进程运行结束,也可能是由于bug导致进程无法继续执行(例如数组越界或数学错误) 进程状态的转换 进程控制 进程控制的主要功能是对系统中的所有进程实施有效的管理,它具有创建新线程,撤销已有线程,实现线程状态转换等功能 简言之,进程控制就是要实现进程各个状态之间的转换 如何实现进程控制 原语 原语的特点是执行期间不允许中断 (因为所有进程控制原语一定修改进程状态) 剥夺当前运行进程的CPU使用权必然需要保存其运行环境(为后续该进程重新进入运行态,恢复运行环境准备) 某进程开始运行前必然要恢复运行环境(利用之前保存在PCB中的环境

    72820编辑于 2022-10-27
  • 来自专栏eadela

    k8s--资源控制

    资源控制器 1、什么是控制器 Kubernetes中内建了很多controller (控制器) ,这些相当于一个状态机,用来控制Pod的具体状态和行为 Pod 的分类 自主式 Pod:Pod 退出了 ,此类型的 Pod 不会被创建 控制器管理的 Pod:在控制器的生命周期里,始终要维持 Pod 的副本数目 2、控制器类型 ReplicationController和ReplicaSet delete job来删除 $ kubectl delete cronjob hello croniob "hello" deleted CrondJob本身的一些限制 创建Job操作应该是幂等的 8、 (C:\Users\eadel\Desktop\k8s\2.png) kubectl get pod --show-labels ----查看labels kubectl label pod frontend-n6fc5

    1K10发布于 2019-12-11
  • 来自专栏菩提树下的杨过

    java并发编程学习:用 Semaphore (信号控制并发资源

    开启 sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist 关闭 sudo -s launchctl unload -w /System/Library/LaunchDaemons/ftp.plist 上述命令,系统重启后将失效,要永久生效,可编辑ftp.plist  <dict>         <key>Enabled</key>         <true/> ... 注意上面的红色部分,Disabled改成Enab

    89380发布于 2018-01-19
  • 来自专栏鸿蒙开发笔记

    OpenHarmony轻系统开发【8】其它驱动开发示例

    OpenHarmony代码中,Hi3861提供了绝大部分的驱动示例代码,文件路径:

    40720编辑于 2024-09-05
  • 来自专栏为了不折腾而去折腾的那些事

    高可用的 K8s 集群搭建方案:MicroK8s

    当然,也适合用于开发者本地环境,以轻的资源消耗、简单的运维成本获得几乎完整的 Kubernetes 生态体验。本篇文章,我们来聊聊如何通过它来快速组建一个本地集群。 而且,每台用于计算的节点上的额外资源消耗也被控制在了 500M 左右,相比之前来说“瘦”了不少。 )的时候,会遇到因为证书问题,而打不开控制台页面的问题。 编辑完成之后,关闭文件,K8s 服务将自动应用配置,再次执行 microk8s dashboard-proxy 后,就能够通过网页来访问 K8s 的控制面板了。 熟悉的 K8s 控制面板界面 最后 除了 Dashboard 之外,MicroK8s 还包含了非常多的组件[10],常用的官方组件诸如:DNS、Cert Manager、GPU、Storage、权限控制

    3.5K30编辑于 2023-03-05
  • 来自专栏后场技术

    K8S之Pod控制

    通过这种方式创建的Pod称之为自主式Pod资源,如果线上所有的服务都需要我们来手动管理Pod,那将是一个巨大的运维开销,那K8S就失去了其存在的意义,所以,K8S为我们提供了Pod控制器资源,专门用于对 一、Pod控制器类型 常见的Pod控制器有如下类型: ReplicationController:简称RC,旧版本K8S中使用的Pod控制器,ReplicaSet的前身,仅支持等式的标签选择器,官方不建议使用 Deployment:简称deploy,最常用的Pod控制器,需要注意的是,其并不直接控制Pod,而是直接控制ReplicaSet,然后通过ReplicaSet来控制Pod,Deployment支持rolling-update 此字段下的metadata和spec字段可以参见《K8S系列 -- K8S资源配置清单》,此处不再赘述 定义好资源配置清单后,我们就可以来创建Pod控制器了 [root@k8s7-22 ~]# kubectl 2、Deployment Deployment类型的Pod控制器,其实并不会直接控制Pod,而是直接控制ReplicaSet,然后再通过ReplicaSet来控制Pod,这样,不同的ReplicaSet

    47320发布于 2021-07-23
  • 来自专栏全栈程序员必看

    c语言入门教程–-8循环控制语句

    c语言入门教程–-8循环控制语句 一般循环控制语句都是配合着if一起使用的。

    70420发布于 2021-04-07
领券