碎片 集群 线程 进程
Centos查找、删除僵尸进程
CentOS 1、查找僵尸进程命令: ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]' 说明:因为状态为 z或者Z 的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程 2、批量干掉僵尸进程命令: ps -A -o stat,ppid,pid,cm ......
多线程 互斥锁与读写锁 概念
一、多线程 lock 互斥锁 简述 多线程环境中,不使用lock锁,会形成竞争条件,导致A线程与B线程数据使用冲突。 使用lock锁可以保证当有线程操作某个共享资源时,能使该代码块按照指定的顺序执行,其他线程必须等待直到当前线程完成操作。 即是多线程环境,如果一个线程锁定了共享资源,需要访问该资源的 ......
Redis+Tomcat+Nginx集群实现Session共享,Tomcat Session共享
一、Session共享使用tomcat-cluster-redis-session-manager插件实现 插件地址见:https://github.com/ran-jit/tomcat-cluster-redis-session-manager 该插件支持Tomcat7、Tomcat8、Tomca ......
多线程常见问题描述
1 多线程优点 可以重复利用已有的线程继续执行任务,避免线程在创建和销毁时造成的消耗 调整可运行线程数量的大小 2 工作原理 提交任务->核心线程池是否已满->(未满)创建线程执行任务 ->(已满)阻塞队列是否已满->(已满)将任务存储在队列中 ->(未满)线程池是否已满->(未满)创建线程执行任务 ......
C#全自动多线程上位机源码编程
C#全自动多线程上位机源码编程 0, 纯源代码。 1, 替代传统plc搭载的触摸屏。 2, 工控屏幕一体机直接和plc通信。 3, 功能强大,多级页签。 4, 可以自由设定串口或以太网通信。 5, 主页。 6, 报警页。 7, 手动调试页。 8, 参数设定页。 9, 历史查询页。 10,系统设定页。 ......
进程管理
进程管理 Linux ps查看进程 ps-ef ps aux 占用多少cpu 占用多少内存 工作配合管道使用 查看firefox的进程 77095就是父进程 前提是开启了火狐浏览器 按照名字去查找 kill--关闭进程 这些都是父进程 关闭父进程 强制杀死一个进程 轻质关闭 9是立即杀死进程 15是 ......
进程
进程与程序的区别: 程序:一堆死代码(还没有被运行起来) 进程:正在运行的程序(被运行起来了) 进程的调度算法(重要): 1.FCFS(先来先服务) 对短作业不友好 2.短作业优先调度 对长作业不友好 3.时间片轮转法+多级反馈队列(目前还在用) 将时间均分 然后根据进程时间长短再分多个等级 等级越 ......
初学多线程爬虫
多线程在爬虫中应用非常广泛,对于中大型项目来说很有必要,今天我将以初学者的姿态来完成一个简单的多线程爬虫程序。 1、如何认识多线程 计算机完成一项或多项任务,往往可以存在很高的并行度:若是多核处理器则天然的可以同时处理多项事务,若是单处理器时其实也可以分时隙处理多任务,此时虽然在某一时间点上确实是不 ......
手写一个线程池
来源<c++并发实战> 手写一个简单的线程池 有待改进 #include <iostream> #include <thread> #include <mutex> #include <unistd.h> #include <queue> #include <chrono> #include <co ......
快速排序,堆排序,进程通信,OS回收,事务一致性
某大厂面试题1 1. 分布式事务的一致性问题 事务的四大特性(ACID) 原子性(Atomicity):一个事务(transaction)要么没有开始,要么全部完成,不存在中间状态。 一致性(Consistency):事务的执行不会破坏数据的正确性,即符合约束。 隔离性(Isolation):多个事 ......
多线程socketserver
模块:socketserver tcp协议: 服务端: import socketserver class MyRequestHandle(socketserver.BaseRequestHandler): def handle(self): # print(self.request) #如果tcp ......
Java EasyExcel带格式多线程导出百万数据
Java EasyExcel带格式多线程导出百万数据 1. 背景说明 2. 方案概述 (1)大数据量导出问题主要是以下三个地方: (2)将写入导出Excel等功能单独分开成一个微服务: (3)注意: (4)方案设计: 标注说明 (5)maven依赖: 3. 详细设计 4. 缓存 5. 可行性验证 6 ......
线程池中线程抛了异常如何处理?
文章目录 1. 模拟线程池抛异常 2. 如何获取和处理异常 方案一:使用 try -catch 方案二:使用Thread.setDefaultUncaughtExceptionHandler方法捕获异常 方案三:重写afterExecute进行异常处理 1. 模拟线程池抛异常 在实际开发中,我们常常 ......
在Linux系统下创建子进程-fork()函数
#Linux系统下创建子进程 在Linux终端下输入命令:man 2 fork,查看fork()函数的描述: /* NAME fork - create a child process #include <sys/types.h> #include <unistd.h> pid_t fork(voi ......
进程消息队列实例
//write.c #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h> #include <stdio.h> struct mymesg{ long mtype;//消息的类型,是一个整数且大于0 char mtex[51 ......
c++11 std::thread 线程实例在退出后管理线程调用join()后再新建线程将可能会产生相同std::thread::id的实例
[03-28 16:52:54.372] [info] [vthread.cpp:92 operator()()] create new thread,id:4,tid:7f5cbb7fd640,inroduce:test vthread 003[03-28 16:52:54.372] [info] ......
docker 搭建大数据集群(hive、hbase、ZooKeeper、Scala、Spark)
1)本机系统设置 电脑设置虚拟缓存(设置为自动管理) 虚拟机设置内存和CPU 内存设置为8G(或以上) CPU稍微设置高一点(三个虚拟化能开就开) 虚拟机系统配置阿里源 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun. ......
【面试专栏】Java创建多线程的五种方式
1. 继承Thread类 import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; /** * 继承Thread类创建多线程单元测试 * * @author CL */ @Slf4j public class Threa ......
minio集群docker部署
一、社区版给的方案 1、docker-compose.yaml下载地址:https://raw.githubusercontent.com/minio/minio/master/docs/orchestration/docker-compose/docker-compose.yaml 2、改成自己的 ......
操作系统面经-进程
操作系统 内容援引自王道考研,感谢各路大神的原创分享,若笔记存在错误烦请批评指正~ 概念 本质是系统软件,向上为用户和应用程序提供服务,向下扩展硬件。具有并发、共享、虚拟、异步的特征,实现了文件管理、内存管理、进程管理、进程调度和设备管理等功能。 命令接口(用于直接使用)、程序接口(用于通过程序间接 ......
Kubernetes集群(五)——Cert-manager与Let'sencrypt证书自动管理
1. Cert-manager安装 1.1. 安装自定义crd资源 kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.11.0/cert-manager.crds.yaml 1.2. ......
K8S学习笔记之卸载K8S集群
阅读目录 0x00 概述 0x01 操作 0x00 概述 有时候需要卸载已安装在本机的K8S服务和服务,本文卸载的K8S面向使用kubeadm或者二进制方法安装的,不涉及使用rpm包安装的集群; 主要使用kubeadm reset和删除指定文件的方法,卸载K8S集群。 0x01 操作 首先清理运行到 ......
线程的 run()和 start()有什么区别?
每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的,run()方法称为线程体。通过调用Thread类的start()方法来启动一个线程。 start() 方法用于启动线程,run() 方法用于执行线程的运行时代码。run() 可以重复调用,而 start() 只能调用一次。 ......
什么是线程死锁
死锁是指两个或两个以上的进程(线程)在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程(线程)称为死锁进程(线程)。 多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由 ......
如何在 Windows 和 Linux 上查找哪个线程cpu利用率最高?
windows上面用任务管理器看,linux下可以用 top 这个工具看。 找出cpu耗用厉害的进程pid, 终端执行top命令,然后按下shift+p 查找出cpu利用最厉害的pid号 根据上面第一步拿到的pid号,top -H -p pid 。然后按下shift+p,查找出cpu利用率最厉害的线 ......
@Async异步任务与线程池
写在前面:本篇文章是关于使用@Async进行异步任务,并且关于线程池做了一个初步的梳理和总结,包括遇到过的一些坑 在工作中用到的一些线程池 以下代码已做脱敏处理 1.newCachedThreadPool private void startTask(List<String> usersList){ ......
守护线程和用户线程有什么区别呢?
在 Java 中通常有两种线程:守护线程(Daemon Thread)和用户线程(User Thread)。 守护线程:是一种特殊的线程,在后台默默地完成一些系统性的服务,比如垃圾回收线程、JIT 线程都是守护线程 用户线程:可以理解为是系统的工作线程,它会完成这个程序需要完成的业务操作。如我们使用 ......
转载 - Java 线程详解(下)
一、线程生命周期 在《详解操作系统进程》中,从操作系统层面介绍了进程(线程)的生命周期的变迁,在操作系统中,线程的状态主要包含了五种:初始化、等待状态、就绪状态、运行状态和终止状态 但在Java中,定义了六种状态的,其中RUNNABLE状态对应运行状态和就绪状态,而等待状态在Java中细分为三种BL ......
WebSocket集群解决方案,不用MQ
首先不了解WebSocket的可以先看看这篇文章,以及传统的WebSocket方案是怎么做的,https://www.cnblogs.com/jeremylai7/p/16875115.html 这是用MQ解决的版本,那么这种方案存在什么问题呢。 第一:增加MQ,可能造成消息挤压、消息顺序的问题 ......
C#:多线程操作变量
在多线程环境下,变量的操作需要确保线程安全。C#提供了多种方式来实现线程安全的变量操作。 1. 使用lock语句 lock语句可以确保同一时间只有一个线程可以访问被锁定的代码块。以下是使用lock语句的示例: private static readonly object _lock = new ob ......