日韩在线观看-日韩在线成人-日韩在线不卡视频-日韩在线不卡视频-国产精品99-国产精品99

Atomic

swoole_atomic是swoole擴展提供的原子計數操作類,可以方便整數的無鎖原子增減。

  • swoole_atomic使用共享內存,可以在不同的進程之間操作計數
  • swoole_atomic基于gcc提供的CPU原子指令,無需加鎖
  • swoole_atomic在服務器程序中必須在swoole_server->start前創建才能在Worker進程中使用
  • swoole_atomic默認使用32位無符號類型,如需要64有符號整型,可使用Swoole\Atomic\Long

注意:請勿在onReceive等回調函數中創建原子數,否則底層的GlobalMemory內存會持續增長,造成內存泄漏。

使用

初始化計數:

  • int init_value 初始值
public function __construct($init_value)

增加計數:

  • int add_value 增加的值
public function add($add_value)

減少計數:

  • int sub_value 減少的值
public function sub($sub_value)

獲取當前計數的值:

public function get()

將當前值設置為指定的數字:

  • int value 計數值
public function set($value)

如果當前數值等于參數1,則將當前數值設置為參數2:

  • int cmp_value 被做比較的值
  • int set_value 當前數值等于被做比較的值后被設置為指定的計數值
public function cmpset($cmp_value, $set_value)

例子

EasySwooleEvent初始化函數注冊atomic對象。

// 注冊一個atomic對象
AtomicManager::getInstance()->add('second');

從AtomicManager獲取atomic對象并使用。

<?php
/**
 * Created by PhpStorm.
 * User: Tioncico
 * Date: 2019/3/18 0018
 * Time: 15:39
 */

namespace App\HttpController;

use EasySwoole\Component\AtomicManager;
use EasySwoole\Http\AbstractInterface\Controller;

class Index extends Controller
{
    function index()
    {

        AtomicManager::getInstance()->add('second',0);
        $atomic = AtomicManager::getInstance()->get('second');
        $atomic->add(1);
        $this->response()->write($atomic->get());
        // TODO: Implement index() method.
    }
}
主站蜘蛛池模板: gay movies| 拇指姑娘故事完整版| 一个蛋挞的热量| 1—36集电视剧在线观看| free hd xxxx moms movie777| 关琳个人资料简介图片| 掐脖子自制短视频| ()目()身的词语| superstar电影在线播放| 世间路| 美容室4| 女同恋性吃奶舌吻完整版| 大园桃子| 狗年龄| 我的幸运猫 电视剧| 流浪地球2视频免费播放下载| 寒形近字| 电影《exotica》完整版观看| 吴承轩主演的电视剧| 情动电影| 六级词汇电子版| 纵横欲海| 免费播放高清完整版电影| 出轨的女人电影| 孔冉| 赵立军| 女怕嫁错郎演员表| 电影壮志凌云| 六下英语单词表| 《浪漫樱花》电影| 美女mm| 欠条怎么写才有法律效果| 彻夜之歌为什么被禁| 推普周主题班会活动记录| 性感美女喷水| 93夜之女| 山海经动画片全40集免费观看| jagger| 少妇的诱惑电影| 韩国青草视频| 街头霸王 1994 尚格·云顿|