logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

多线程进程的合作与死锁

本文摘要:信号量用于解决进程同步问题,通过临界区控制实现互斥访问。临界区管理需满足互斥、有限等待、有空让进和让权等待原则。死锁由互斥使用、不可抢占、请求保持和循环等待四个必要条件引发,可通过预防、避免(如银行家算法)、检测恢复或忽略四种方式应对。银行家算法通过Available、Allocation和Need三个矩阵动态检测系统安全性,确保资源分配不引发死锁,其核心是通过模拟资源分配过程寻找安全序

文章图片
#linux#ubuntu
K8s 基本概念梳理

Kubernetes核心组件包括:Pod(最小运行单元,可含多个容器)、Node(工作节点)、Service(稳定网络访问入口)和Ingress(域名路由)。配置管理通过ConfigMap和Secret实现,数据持久化使用Volume。Deployment用于管理Pod副本,支持滚动更新和高可用。这些组件共同构建了容器编排系统,实现配置与服务的分离,确保应用的可移植性和弹性扩展。架构上通过Serv

文章图片
#kubernetes#容器#云原生
Jenkins 后续构建原理讲解

本文针对Jenkins构建速度优化提出分层JAR+Dockerfile分层COPY方案。通过将Maven依赖目录挂载宿主机实现增量下载,并利用Docker层缓存机制:1)SpringBoot项目配置分层JAR;2)Dockerfile按依赖顺序分4层复制(依赖/加载器/SNAPSHOT/应用层);3)每次仅需上传变更的应用层(约2MB)。该方案使镜像推送量从每次100MB降至2MB,构建时间从13

#jenkins#java
docker 常用的命令

传入值:docker build --build-arg APP_VERSION=1.0.0 -t my-python-app:1.0.0 .-f Dockerfile.prod 指定dockerfile 文件。--no-cache 不需要缓存 重新执行dockerFile。应用生成的日志文件、临时文件、上传的数据。配置文件被修改、系统文件被更新。文件是基础镜像中不存在的。文件内容或权限发生了变化

#docker#eureka#容器
操作系统中的多线程

摘要:为提高CPU利用率,操作系统引入进程概念,通过进程切换减少CPU等待时间。进程由PCB(进程控制块)管理,包含标识、状态、调度等信息。多进程通过队列组织,调度算法(如FCFS、SJF、轮转调度)决定执行顺序,平衡CPU和I/O密集型任务。线程分为用户级(轻量但无法多核并行)和内核级(支持多核但切换开销大)。时钟中断实现时间片轮转,Java的虚拟线程结合两者优势,采用M:N混合模型优化并发性能

文章图片
#linux#ubuntu#java
到底了