当前位置: 首页 > news >正文

淘宝优惠卷网站建设公司是真的假的徐州做网站的公司

淘宝优惠卷网站建设公司是真的假的,徐州做网站的公司,网站开发搜索功能怎么实现,猪八戒网站开发骗局swoole_table的构造函数用于创建内存表。 swoole_table->__construct(int $size, float $conflict_proportion 0.2)$size参数指定表格的最大行数,如果$size不是为2的N次方,如1024、8192,65536等,底层会自动调整为接近的一个数字&#xf…

swoole_table的构造函数用于创建内存表。

swoole_table->__construct(int $size, float $conflict_proportion = 0.2)
  • $size参数指定表格的最大行数,如果$size不是为2的N次方,如10248192,65536等,底层会自动调整为接近的一个数字,如果小于1024则默认成1024,即1024是最小值
  • table占用的内存总数为 (结构体长度 + KEY长度64字节 + 行尺寸$size) * (1.2预留20%作为hash冲突) * (列尺寸),如果机器内存不足table会创建失败
  • set操作能存储的最大行数与$size正相关,但不完全一致,如$size为1024实际可存储的行数小于1024
  • swoole_table基于行锁,所以单次set/get/del在多线程/多进程的环境下是安全的
  • set/get/del是原子操作,用户代码中不需要担心数据加锁和同步的问题

我们分析下其流程。

PHP_METHOD(swoole_table, __construct)
{long table_size;double conflict_proportion = SW_TABLE_CONFLICT_PROPORTION;if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l|d", &table_size, &conflict_proportion) == FAILURE){RETURN_FALSE;}swTable *table = swTable_new(table_size, conflict_proportion);if (table == NULL){zend_throw_exception(swoole_exception_class_entry_ptr, "global memory allocation failure.", SW_ERROR_MALLOC_FAIL TSRMLS_CC);RETURN_FALSE;}swoole_set_object(getThis(), table);
}
swTable* swTable_new(uint32_t rows_size, float conflict_proportion)
{if (rows_size >= 0x80000000){rows_size = 0x80000000;}else{uint32_t i = 10;while ((1U << i) < rows_size){i++;}rows_size = 1 << i;}if (conflict_proportion > 1.0){conflict_proportion = 1.0;}else if (conflict_proportion < SW_TABLE_CONFLICT_PROPORTION){conflict_proportion = SW_TABLE_CONFLICT_PROPORTION;}swTable *table = SwooleG.memory_pool->alloc(SwooleG.memory_pool, sizeof(swTable));if (table == NULL){return NULL;}if (swMutex_create(&table->lock, 1) < 0){swWarn("mutex create failed.");return NULL;}table->iterator = sw_malloc(sizeof(swTable_iterator));if (!table->iterator){swWarn("malloc failed.");return NULL;}table->columns = swHashMap_new(SW_HASHMAP_INIT_BUCKET_N, (swHashMap_dtor)swTableColumn_free);if (!table->columns){return NULL;}table->size = rows_size;table->mask = rows_size - 1;table->conflict_proportion = conflict_proportion;bzero(table->iterator, sizeof(swTable_iterator));table->memory = NULL;return table;
}

 

http://www.lbrq.cn/news/2528497.html

相关文章:

  • 网站规划与开发技术专业黄页网站推广服务
  • 网站重新建设的申请dz论坛如何seo
  • 十大免费行情软件网站下载百度搜索榜
  • 电脑如何制作网页教程西安seo培训学校
  • 赤坎手机网站建设公司开源cms建站系统
  • 怎样做网站平台赚钱竞价服务托管公司
  • wordpress意见反馈功能资阳地seo
  • 网站怎么收录百度搜索推广是什么
  • 怎么制作免费网站教程视频百度收录时间
  • 动态网站建设工资优化排名
  • 上行10m做网站服务衡阳seo服务
  • 茶网站建设实训报告深圳快速seo排名优化
  • 专门做广东11选5的网站什么是seo搜索
  • 上海装修公司做网站注册城乡规划师含金量
  • 哈巴狗模式网站开发今日最近的新闻大事10条
  • 临沂做网站企业新东方考研培训机构官网
  • bootstrap开源模板进行优化
  • 一个旅游网站建设百度竞价排名背后的伦理问题
  • 建设网站要花多少钱南宁seo外包服务
  • html网站登录界面模板下载推广引流方法与渠道
  • wordpress查看购物车不管用seo赚钱吗
  • 网站建设需要哪些知识深圳网站制作公司
  • 最优做网站爱链接
  • 网站怎么做不违法贵阳seo网站推广
  • 网站建设存在四个问题b站推广怎么买
  • 济南做网站多少钱建设官网的网站首页
  • 网站开发内容aso优化哪家好
  • 舟山 做企业网站北京seo教师
  • 关于做网站的调查问卷怎么弄自己的网站
  • 深圳做网站 龙华信科百度一下官网首页登录
  • Coze开源版本地部署指南
  • Flutter Chen Generator - yaml配置使用
  • MVS相机+YOLO检测方法
  • MacTex+Vscode数学建模排版
  • Python奇幻之旅:从零开始的编程冒险
  • 开源 Arkts 鸿蒙应用 开发(十三)音频--MP3播放