首页 > 系统相关 >【0335】Postgres内核之 auxiliary process(辅助进程)获取 PGPROC latch 所有权 (3)

【0335】Postgres内核之 auxiliary process(辅助进程)获取 PGPROC latch 所有权 (3)

时间:2024-09-30 10:54:12浏览次数:9  
标签:Postgres process 获取 进程 latch PGPROC auxiliary

1. 获取 PGPROC latch 所有权

【0333】Postgres内核之 auxiliary process(辅助进程)创建 PGPROC 一文中讲解了 Auxiliary process 获取 PGPROC 的底层实现过程。在此基础上,本文将基于Postgres内核讲解获取该辅助进程 latch 所有权的源码实现。

1.1 latch 关联 PGPROC

获取 PGPROC 的 latch 所有权,以便我们能够在其上使用 WaitLatch() 操作。这使得我们可以将 进程latch 指针重新指向共享latch,目前该指针指向进程本地latch。(对应下面的 SwitchToSharedLatch() 函数)

void InitAuxiliaryProcess(

标签:Postgres,process,获取,进程,latch,PGPROC,auxiliary
From: https://blog.csdn.net/lixiaogang_theanswer/article/details/142650322

相关文章

  • 【0333】Postgres内核之 auxiliary process(辅助进程)创建 PGPROC
    1.auxiliaryprocess当我们是辅助进程(auxiliaryprocess)时,不会进行完整的InitPostgres初始化操作,但即使在辅助进程中,也有几件事需要被启动。这里第一件就是“创建一个PGPROC,以便我们能够使用LWLocks。在EXEC_BACKEND情形下,这一操作已由SubPostmasterMain()完......
  • INF80028 - Business Process Management
    INF80028- Business Process ManagementSemester2,2024Assignment2AnalysingandDesigningTo-BeBusinessProcess forSwinburneCaresFoundationAssignment2dueon Week12Friday18th Oct.at23:59 AEDST Assessment2 Value=40%Tobecompletedi......
  • 【Spring】扩展点EnvironmentPostProcessor实例详解
    1.概述转载并且补充:SpringBoot扩展点EnvironmentPostProcessor实例详解之前项目中用到了Apollo配置中心,对接Apollo配置中心后,配置中心的属性就可以在程序中使用了,那么这个是怎么实现的呢?配置中心的属性又是何时加载到程序中的呢?那么我们如果找到了这个是怎么实现的是否就......
  • show processlist和show full processlist说明
    showprocesslist和showfullprocesslistprocesslist命令的输出结果显示了有哪些线程在运行,不仅可以查看当前所有的连接数,还可以查看当前的连接状态帮助识别出有问题的查询语句等。如果是root帐号,能看到所有用户的当前连接。如果是其他普通帐号,则只能看到自己占用的连接。showp......
  • maven annotationProcessorPaths
    <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>${maven-compiler-plugin.version}</version><configuration><annotat......
  • Java中CountDownLatch和CyclicBarrier的区别与详解
    Java中CountDownLatch和CyclicBarrier的区别与详解一.CountDownLatch和CyclicBarrier的区别CountDownLatch的计数器是大于或等于线程数的,而CyclicBarrier是一定等于线程数CountDownLatch放行由其他线程控制而CyclicBarrier是由本身来控制的二.详解CountDownLatch说明:一......
  • ECE-GY 6183 Real-Time Digital Signal Processing
    Real-Time Digital Signal Processing LabECE-GY 6183 / ECE-UY 4163Fall 2024This course is an introductiontothe real-time implementationofdigital signal processing (DSP) algorithms, with an emphasis on audio signal processing an......
  • nodejs child_process 操作git 提交记录 提取git commit信息
    /***记录发布时的commit信息,用于区分内网版本包之间的差异*/importpathfrom'path';import{writeFileSync}from'fs';import{execSync}from'child_process';letoutputFileName=process.argv[2];if(!outputFileName){outputFileNam......
  • 使用Python的subprocess执行另外一个python文件(应用之一是Pytorch中如何让多个不同的
    文章目录subprocess基础使用subprocess高级使用subprocess多进程subprocess执行情况在深度学习中的应用话不多说了,直接看代码。subprocess基础使用假设我要运行一个名字叫helloworld.py的文件,在主程序如下运行即可。主程序importsubprocessp=subprocess.Pop......
  • roslaunch carla_ros_bridge carla_ros_bridge.launch运行报错逐条解决REQUIREDproces
    前言:跟着自动驾驶之心的老师学习仿真,在carla_ros_bridge那块卡住了,遇到了超多问题,现在看看我们是怎么解决的吧。首先是carla_ros_bridge安装,老师是18.04,我的项目工程是20.04,所以我肯定最终还是要换到20.04的,所以以下就是踩坑。一.carla_ros_bridge安装:可见官网的文档ROSbri......