2019 年 08 月 0 篇文章

php多进程读写同一个文件锁的问题及flock详解

php多进程读写同一个文件锁的问题及flock详解
### 一、协同锁(advisory lock) 和 强制锁 (mandatory lock) 1、协同锁   协同锁要求参与操作的进程之间协同合作。假设进程“A”获得一个WRITE锁,并开始向文件中写入内容;此时,进程“B”并没有试图获取一个锁,它仍然可以打开文件并向文件中写入内容。在此过程中,进程“B”就是一个非合作进程。如果进程“B”试图获取一个锁,那么整个过程就是一个合作的过程,从而可以保证操作的“序列化”。   只有当参与操作的进程是协同合作的时候,协同锁才能发挥作用。协同锁有时也被称为“非强制”锁。 2、强制锁   强制锁不需要参与操作的进程之间保持协同合作。它利用内核来查检每个打开、读取、写入操作,从而保证在调用这些操作时不违反文件上的锁规则。

在 PHP 中使用 `yield` 来做内存优化

你有没有想过 "在 `PHP` 中使用 *yield* 会有什么益处",我将为你节省一些谷歌搜索的时间; 我列出了一些要向你介绍的要点来全面认知 *yield*: 1. 什么是 *yield*。 2. *yield* & *return* 的区别。 3. *yield* 有什么选项。 4. 结论。 5. 参考

各种抽奖活动来一遍系列(一)

在日常生活中,各种抽奖活动都是很常见的,比如年会抽奖,刮刮乐,体育彩票,双色球,支付宝,微信中的抢红包, 微博抢红包,支付宝集福卡等,这些都大大丰富了我们的生活,当然,我基本上是没搞到什么奖,年会抽奖也把我漏了。。。,下面我就讲带大家来揭秘一下各种抽奖活动的实现, 代码将以 golang 实现

php 生成唯一订单的 6 种方法

PHP生成唯一订单号其实是非常的简单了我们随便就可以整理多种生成方式了,这里小编整理了6种方式供各位参考。 做商城类项目经常需要生成唯一订单号,下面来个汇总!

源码安装 php7 + swoole

下面我们就来说一说 php7 源码安装的故事, 了解过后还是简单的 首先我们从 PHP 官网(php.net)下载最新的源码包 考虑到有些大佬懒得找我就直接给你把地址弄在下面了

Go 笔记之如何防止 goroutine 泄露

概述 Go 的并发模型与其他语言不同,虽说它简化了并发程序的开发难度,但如果不了解使用方法,常常会遇到 goroutine 泄露的问题。虽然 goroutine 是轻量级的线程,占用资源很少,但如果一直得不到释放并且还在不断创建新协程,毫无疑问是有问题的,并且是要在程序运行几天,甚至更长的时间才能发现的问题。

Golang 超大文件读取的两个方案

### Golang 超大文件读取的两个方案 1. 流处理方式 2. 分片处理 去年的面试中我被问到超大文件你怎么处理,这个问题确实当时没多想,回来之后仔细研究和讨论了下这个问题,对大文件读取做了一个分析

Markdown 基本语法

Markdown 基本语法
Markdown 是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。 相比 WYSIWYG 编辑器 **优点:** 1、因为是纯文本,所以只要支持 Markdown 的地方都能获得一样的编辑效果,可以让作者摆脱排版的困扰,专心写作。 2、操作简单。比如: WYSIWYG 编辑时标记个标题,先选中内容,再点击导航栏的标题按钮,选择几级标题。要三个步骤。而 Markdown 只需要在标题内容前加 #即可