在ATS插件中使用互斥锁
来源:互联网 发布:ibm公司软件 编辑:程序博客网 时间:2024/06/06 14:26
有时候因为业务需要,对某些非线程函数,比如mktime,需要使用互斥锁,可以参照example/blacklist-1或者channel_stats里面的用法
首先插件顶部声明
static TSMutex sites_mutex;
在TSPluginInit()中初始化
sites_mutex = TSMutexCreate();
在需要使用的地方,加锁和解锁
TSMutexLock(sites_mutex)
或
TSMutexLockTry(sites_mutex)
TSMutexUnlock(sites_mutex);
在哪里销毁?
会在该插件范围内永远使用,没有机会销毁,除非服务器退出,因为是静态的,创建对象不多,不好造成大的内存泄露
首先插件顶部声明
static TSMutex sites_mutex;
在TSPluginInit()中初始化
sites_mutex = TSMutexCreate();
在需要使用的地方,加锁和解锁
TSMutexLock(sites_mutex)
或
TSMutexLockTry(sites_mutex)
TSMutexUnlock(sites_mutex);
在哪里销毁?
会在该插件范围内永远使用,没有机会销毁,除非服务器退出,因为是静态的,创建对象不多,不好造成大的内存泄露
在channel_stats.cc搜索stats_map_mutex可以得到下面的调用位置
参考文献
[1].https://issues.apache.org/jira/browse/TS-3561
0 0
- 在ATS插件中使用互斥锁
- ATS插件中配置文件自动更新思路
- 在ATS 5.3.0上测试网页加速插件ats_pagespeed
- 在ATS 5.3.0上测试域名统计插件channel_stats
- 在ATS 5.3.0上开启stats_over_http插件
- 在ATS 5.3.0上测试background_fetch插件
- ATS插件开发中内存泄露问题的解决方法探讨
- ATS 5.2.1中Background-Fetch插件调研笔记
- ATS插件中常见的字符串操作1
- 使用valgrind检测ATS插件中的内存泄露
- ATS插件开发基础
- ATS插件开发基础
- ATS插件开发基础
- 在vue中使用插件
- ATS缓存时间控制插件
- 使用ATS中的regex_remap插件实现正则匹配的url重定向
- 在Eclipse中使用Hibernate插件
- 在Eclipse中使用Hibernate插件*****配置
- 论兔子如何吃掉狼
- 呼叫保持流程
- Caffe+Ubuntu14.04+cuda6.5配置说明
- 数据库索引原理
- 美女主播床上玩游戏脱袜 遭2500万网友围观!
- 在ATS插件中使用互斥锁
- Android快速自定义控件+实战演示(三)完整键盘和组合回调!
- spring security 4 安全框架学习01
- 基于springmvc+mybatis+easyui的后台管理系统Demo
- 线程的生命周期
- Android使用有道翻译API实现在线翻译功能
- 史上最昂贵的10大域名 Sex.com名列世界第一身价
- comparator接口与Comparable接口的区别
- 即时通信中的多媒体上传传输与播放