中文在线一区二区_欧美在线综合_久久久久久综合_欧美一区二区三区视频_国产免费看_国产福利精品一区

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.
    }
}
主站蜘蛛池模板: 国产精品二区一区二区aⅴ污介绍 | 欧美一区二区在线视频 | 一级黄色毛片 | 老司机av导航 | 久久久久久毛片免费播放 | 欧美极品视频 | 精品国产视频 | 国产成人av一区二区三区 | 亚洲啪啪网站 | 国产精品久久久久久中文字 | 免费看国产片在线观看 | 91精品国产综合久久久久久丝袜 | 国产免费一区二区三区最新6 | 国产精品一区二区三区在线播放 | 精品毛片在线 | 久久成人一区二区 | 精品久久久一 | 亚洲欧美激情精品一区二区 | concern超碰在线 | 欧美色影院 | 国产精品高潮呻吟久久 | 国产精品99久久久久久久女警 | 国产一在线 | 日本天堂在线 | 一级a性色生活片毛片 | 欧美一区二区三区在线观看视频 | 91麻豆精品国产91久久久久久久久 | 亚洲国产精品自拍 | 中文字幕成人 | 日本精品在线观看视频 | 色婷婷中文字幕 | h在线免费 | 中文字幕国产日韩 | 综合久久99 | 亚洲h视频 | 欧美精品一区二区在线观看 | 国产偷窥老熟盗摄视频 | 亚洲乱码国产乱码精品精98午夜 | 久久夜精| 亚洲狠狠爱一区二区三区 | 一区视频在线播放 |