12.swoole学习笔记--锁机制

<?php
//创建锁对象
$lock=new swoole_lock(SWOOLE_MUTEX);//互斥锁
echo "创建互斥锁\n";

//开始锁定 主进程
$lock->lock();

if(pcntl_fork() > 0){
    sleep(1);
    //解锁
    $lock->unlock();
}else{
    echo "子进程 等到锁\n";
    //上锁
    $lock->lock();
    echo "子进程 获取锁\n";
    //释放锁
    $lock->unlock();
    exit(‘子进程退出‘);
}
echo "主进程 释放锁\n";
unset($lock);
sleep(1);
echo "子进程退出";
?>

原文地址:https://www.cnblogs.com/zouke1220/p/8442081.html

时间: 2024-10-08 07:37:43

12.swoole学习笔记--锁机制的相关文章

Cocos2d-x学习笔记—事件处理机制

Cocos2d-x学习笔记-事件处理机制 一:事件处理机制 一个事件由触发到完成响应,主要由以下三部分组成: 事件分发器EventDispatcher: 事件类型EventTouch.EventKeyboard等: 事件监听器EventListenerTouch.EventListenerKeyboard等. 在Cocos2d-x v3.x中,关于事件的东西,无非就是围绕上述的三个部分展开来的,掌握了上述的三个部分,也就掌握了Cocos2d-x v3.x中事件处理的精髓. (1)事件分发器: 事

20135302魏静静——课本1-2章学习笔记

第一章 Linux内核简介 一.Unix Unix是一个强大.健壮和稳定的操作系统. Unix——支持抢占式多任务.多线程.虚拟内存.换页.动态链接和TCP/IP网络. 二.操作系统和内核简介 操作系统是指在整个系统中负责完成最基本功能和系统管理的那些部分. 内核独立于普通应用程序,一般处于系统态,拥有受保护的内存空间和访问硬件设备的所有权限.这种系统态和被保护起来的内存空间,统称为内核空间.在系统中运行的应用程序通过系统调用来与内核通信. 应用程序完成其工作的基本行为方式是: 应用程序通过系统

IOS开发学习笔记013-ARC机制

ARC 1.ARC机制 2.ARC 判断准则 ARC机制 ARC 是编译器特性,而不是 iOS 运行时特性,它也不是类似于其它语言中的垃圾收集器.因此 ARC 和手动内存管理性能是一样的,有时还能更加快速,因为编译器还可以执行某些优化 ARC 判断准则: 只要没有强指针,就会释放对象. 指针分2种: 强指针:默认都是强指针  (__strong) __strong Person *p; //  __strong 可以不写,默认就是__strong 弱指针:使用(__weak)声明的对象 __we

JAVA并发编程学习笔记------锁顺序死锁

一.需求描述: 将资金从一个账户转移到另一个账户. 二.程序实现: (1)账户类: public class Account { private long account; public Account(String user, long account) { this.account = account; } public Account() { super(); } public long getAccount() { return account; } public void setAcc

2015.12.01学习笔记

本日学习课程简介:RAID,LVM,ip配置, 磁盘列阵 RAID 即为「Redundant Array of Independent Drives」或「Redundant Array of Inexpensive Drives (or Disks)」的简写,一般俗称「磁盘阵列」,就是以两台或更多的硬盘,组成一个或增加传输速度,或增大总容量,或增加文件备份的大磁盘. NO RAID 正常的数据存储,一但磁盘损坏,数据丢失,无任何安全性 RAID0 将数据平均分散在所有硬盘内,传输速度快,但一台硬

CS229 - MachineLearning - 12 强化学习笔记

Ng的机器学习课,课程资源:cs229-课件    网易公开课-视频 问题数学模型: 五元组{S.a.Psa.γ.R},分别对应 {状态.行为.状态s下做出a行为的概率.常数.回报}. 优化目标: 选择一个policy以获得最佳报酬:E[R(s0)+γR(s1)+γ2R(s2)+......],常数γ的存在可以保证尽量快地获得收益. 优化函数: 根据贝尔曼方程, R(s)表示执行此策略获得的直接收益,后面那一堆是执行了此策略以后再后面的行为获得的收益. 最优策略满足: 那么在s状态下的最有策略是

JAVA学习笔记-异常机制

常见异常分类: ArithmeticException                               - 如试图除以0 NullPointerException                               - 当程序访问一个空对象的成员变量或方法. ClassCastException                                - 类型强制转换错误 ArrayIndexOutOfBoundsException           - 访问的元素下

信息安全系统设计基础 第12周学习笔记

第八章代码 exec1: execvp()会从PATH 环境变量所指的目录中查找符合参数file 的文件名,找到后便执行该文件,然后将第二个参数argv传给该欲执行的文件.如果执行成功则函数不会返回,执行失败则直接返回-1,失败原因存于errno中.在结果中我们可以看出exevp函数调用成功没有返回,所以没有打印出“* * * ls is done. bye”. exec2: exec1的区别就在于exevp函数的第一个参数,exec1传的是ls,exec2直接用的arglist[0],不过由定

4月12日学习笔记——jQuery事件

下面是在 jQuery 中最常使用的 bind()方法举例:$("#testDiv4").bind("click", showMsg); 我们为 id 是 testDiv4 的元素, 添加 click 事件的事件处理函数 showMsg. 使用 jQuery 事件处理函数的好处: 1. 添加的是多播事件委托,也就是为 click 事件又添加了一个方法,不会覆盖对象的 click 事件原有的事件处理函数. 1 $("#testDiv4").bind