线程 进程

4.进程同步与互斥

生产者消费者问题 一组生产者进程和一组消费者进程共享一个初始为空,大小为n的缓冲区。当缓冲区没满时,生产者才能把消息放入缓冲区,否则必须等待,只有缓冲区不空时,消费者才能从中取出消息,否则必须等待。由于缓冲区是临界资源,它只允许一个生产者放入消息,或一个消费者从中取出消息。 semaphore mu ......
进程

Lock、Monitor线程锁

Lock、Monitor线程锁 官网使用 https://learn.microsoft.com/zh-cn/dotnet/api/system.threading.monitor?view=net-8.0 一. Lock 1.1介绍 Lock关键字实际上是一个语法糖,它将Monitor对象进行封装 ......
线程 Monitor Lock

面试官:什么是虚拟线程?为什么要有虚拟线程?

Java 中的虚拟线程,也叫做协程或“轻量级线程”,它诞生于 JDK 19(预览 API),正式发布于 JDK 21,它是一种在 Java 虚拟机(JVM)层面实现的逻辑线程,不直接和操作系统的物理线程一一对应,因此它可以减少上下文切换所带来的性能开销。 操作系统线程、普通线程(Java 线程)和虚 ......
线程

java多线程

一、进程 二、线程 三、通过继承Thread类实现多线程 1、Thread概述 示例: 2、设置和获取线程名称 3、线程优先级 示例: 4、线程控制 5、线程生命周期 四、通过实现Runnable接口实现多线程 1、概述 示例: 2、总结 五、线程同步 1、买票实例分析线程同步 问题思考: 下面进行 ......
线程 java

进程间通信-信号-pipe-fifo

1.运行结果 这三段代码实现了 FIFO(命名管道)的基本操作,允许进程之间进行通信。以下是对每个程序的简要说明: fifo_creator.c: 这个程序创建了一个 FIFO 文件,它使用 mkfifo 函数在指定路径下创建了一个名为 /tmp/myfifo 的 FIFO。 • mkfifo("/ ......
pipe-fifo 进程 信号 pipe fifo

Java线程池使用浅谈

1. 线程池相关基本概念 任务(Task):任务是线程池中要执行的工作单元。任务可以是实现了 Runnable 接口或 Callable 接口的对象。Runnable 任务没有返回值,而 Callable 任务可以返回一个结果。 线程池管理器(ThreadPool Manager):线程池管理器是用 ......
线程 Java

linux常用指令之系统和进程

1、top 查询所有进程 2、ps -ef | grep java 通过进程名查询进程 3、netstat -apn | grep 端口号 通过端口号查询进程,centos6专有 4、lsof -i:端口号 也是通过端口号查询进程,系统默认不自带,通过 yum install -y lsof安装 5 ......
指令 进程 常用 系统 linux

C++11 多线程

文章参考: C++ 教程 | 爱编程的大丙 (subingwen.cn) C++11的原子量与内存序浅析 - 兔晓侠 - 博客园 (cnblogs.com) 从C++11起,C++为用户提供一套新的多线程类。线程相关操作头文件:thread #include <thread> 一. std::thr ......
线程 11

4.PG的进程和内存结构

1.我们在启动PG数据库时,会先启动一个Postmaster的主进程,还会fork出一些辅助的子进程,其中辅助的子进程主要包含: 1)Logger(系统日志)进程 2)BgWriter(后台写)进程 3)WalWriter(预写式日志) 进程 4) PgArch(归档)进程 5) AutoVacuu ......
进程 内存 结构 PG

多线程

sleep方法: sleep方法使当前线程暂停执行指定的时间,然后继续执行。 在线程休眠期间,它不会释放任何锁资源。 sleep方法主要用于控制线程的执行速度或等待某个条件成立。 Thread.sleep(5000); // 休眠5秒钟 Thread t1 = new Thread(new Runn ......
线程

在linux上通过batch批量获取进程ID

实际上你用ps -eo args | grep myprocessname 再配合 | awk -F '=' '{print $2}',也就能拿出pid了,但是,如果你需要再进一步过滤呢,比如我在java参数上有个spring.profiles.active,我想指定有这些参数的进程,那么可以用下面 ......
进程 linux batch

【多线程笔记】Channel

在面对 生产者-消费者 的场景下, netcore 提供了一个新的命名空间 System.Threading.Channels 来帮助我们更高效的处理此类问题,有了这个 Channels 存在, 生产者 和 消费者 可以各自处理自己的任务而不相互干扰,有利于两方的并发处理,这篇文章我们就来讨论下如何 ......
线程 Channel 笔记

c语言中,获取线程id

#include <stdio.h> #include <sys/syscall.h> #include <unistd.h> #include <pthread.h> void *printThreadId(void *arg) { pid_t tid = syscall(SYS_gettid); ......
线程 语言

Net 高级调试之十四:线程同步的基础知识和常见的同步原语

一、介绍 今天是《Net 高级调试》的第十四篇文章,这篇文章我们主要介绍和线程相关的内容,当然不是教你如何去写多线程,更不会介绍多线程的使用方法和API,今天,我们主要讲一下锁,一说到多线程,就会有并发的问题,也可以说是线程安全的问题,锁是没有办法避开的一个话题。我们今天不讲锁的使用方法,主要是关注 ......
原语 线程 基础知识 常见 基础

异步记录第三方接口调用日志的优雅实现(HttpClient+装饰者模式+异步线程池)

对于第三方接口调用日志这个功能,笔者在工作中曾见过以下两种方式: Restemplate+装饰者模式+MQ实现 网关监控 + Feign拦截器 + 观察者模式实现 其中观察者模式的实现是我最为佩服的设计,个人认为以上两种实现都显得略过臃肿,应该简化设计,让异步记录的实现更加简洁优雅,因此产生了这样的 ......
线程 第三方 HttpClient 接口 模式

线程池

一、Executor 利用Executors创建不同的线程池满足不同场景的需求 1、newFixedThreadPool(int nThreads) 制定工作线程数量的线程池 2、newCachedThreadPool() 处理大量短时间工作任务的线程池 试图缓存线程并重用,当无缓存线程可用时,就会 ......
线程

面试常考:C#用两个线程交替打印1-100的五种方法

面试常考:C#用两个线程交替打印1-100的五种方法 翔星 有10年+工作经验,高级软件工程师,可以解决各种问题 ​关注 你经常看 TA 的内容 "C#用两个线程交替打印1-100的五种方法"是.NET工程师面试多线程常考的试题之一,主要考察对C#语法和对多线程的熟悉程度。本文将用5种方法实现这个面 ......
线程 两个 方法 100

线程池

一、Executor 利用Executors创建不同的线程池满足不同场景的需求 1、newFixedThreadPool(int nThreads) 制定工作线程数量的线程池 2、newCachedThreadPool() 处理大量短时间工作任务的线程池 试图缓存线程并重用,当无缓存线程可用时,就会 ......
线程

线程间操作无效: 从不是创建控件“ ”的线程访问它

方法1:CheckForIllegalCrossThreadCalls = false;//忽略对跨线程调用的检测(不建议) 方法2:使用委托 例: this.Invoke((EventHandler)delegate { button1.Visible = true; }); 方法3:使用线程Th ......
线程 控件 从不

面试官问我:线程锁导致的kafka客户端超时,如何解决?

本文分享自华为云社区《线程锁导致的kafka客户端超时问题》,作者: 张俭 。 问题背景 有一个环境的kafka client发送数据有部分超时,拓扑图也非常简单 定位历程 我们先对客户端的环境及JVM情况进行了排查,从JVM所在的虚拟机到kafka server的网络正常,垃圾回收(GC)时间也在 ......
线程 客户端 客户 kafka

多线程里锁,异步问题

多线程里锁,异步问题,开发碰到的问题,这里记录一下,避免下次出现 lock(temLock) { var result=client.GetCollectAsync();//多线程锁里,不能使用异步方法,尽管异步方法前没有await,会导致执行出问题,没有按照逻辑执行; var result=cli ......
线程 问题

linux 使用 mwget 实现多线程下载

mwget和curl/multicurl一样,m就是multi多线程的意思。mwget是wget的升级版,支持多线程下载 【使用方法】 git clone https://github.com/rayylee/mwget.git cd mwget yum -y install pkg-config ......
线程 linux mwget

关于python http.server 开启多线程并发的问题

问题描述 thon中的http.server模块是单线程的,这意味着它一次只能处理一个请求,而其他请求必须等待。 为了解决这个问题,您可以考虑使用多线程或异步处理来处理并发请求。您可以使用Python的ThreadingMixIn来创建一个支持多线程的HTTP服务器,或者考虑使用异步框架如async ......
线程 python server 问题 http

多线程+信号量同步线程

实现场景: 多线程 + 信号量实现线程同步执行 线程在创建的时候并不能保证优先顺序,是异步的,如果想按照自己指定的顺序先后执行的话,可以使用一些互斥或者同步的方式; 以下我是通过信号量来实现同步: 信号量的类型是sem_t, 需要的头文件是 #include <semaphore.h>, 主要是方法 ......
线程 信号

【Win10】查看端口占用释放进程

简单记录下哈,IDEA 启动程序发现端口被占用了,想找到它并终止: 找到端口的进程 PID: netstat -aon|findstr 8080 结束对应 PID 的程序: 找到并结束掉。 ......
端口 进程 Win 10

C#:多线程篇

文章目录 基础概念 进程 线程 句柄 多线程 同步/异步 C#中的多线程 Thread 如何开启新线程 线程的停止等待 后台线程,前台线程 跨线程操作主线程UI 线程的优先级 扩展封装 数据槽 内存栅栏 资源竞争与线程锁 ThreadPool ThreadPool好处 线程池如何分配一个线程 线程等 ......
线程

linux进程管理

Linux是一种多用户操作系统,也是一种多任务系统。多任务意味着可以同时运行多个程序。运行程序的实例通常被称为 进程 。Linux提供了相关的工具列出运行中的进程,监视系统的使用情况以及在必要时停止(或杀死)进程。可以通过shell启动、暂停、停止或者杀死进程,此外,还可以将进程放到后台以及带到前台 ......
进程 linux

linux 进程间通信 --- 共享内存(POSIX 版本)

POSIX 进程间通信 POSIX 进程间通信 (Interprocess Communication, IPC) 是 System V 进程间通信的变体。它是在 Solaris 7 发行版中引入的。与 System V 对象类似,POSIX IPC 对象的属主、属主的组以及其他用户具有读取和写入权 ......
进程 内存 版本 linux POSIX

线程池-入门

线程池 1. 创建线程 thread #include <thread> int main(){ std::thread th() } thread 直接创建一个线程,参数是所需执行的函数。 2. join 当开启线程后,主线程不会等待其他线程执行完后再关闭,所以需要让主线程去等待其他线程执行完之后 ......
线程

Java 中变量的线程安全问题

Java 中的变量主要分为静态变量、普通成员变量、局部变量等,这些变量在单线程环境下是不会有线程安全问题的,但是多线程环境下实际情况又是什么样子的呢? 1、成员变量和静态变量 如果成员变量和静态变量不存在多个线程共享操作,那么不会有线程安全问题 如果成员变量和静态变量被多个线程共享,多个线程对共享变 ......
线程 变量 问题 Java
共3400篇  :6/114页 首页上一页6下一页尾页