欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 人文社科 > 生活经验 >内容正文

生活经验

在ATS插件中使用互斥锁

发布时间:2023/11/27 生活经验 62 豆豆
生活随笔 收集整理的这篇文章主要介绍了 在ATS插件中使用互斥锁 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
有时候因为业务需要,对某些非线程函数,比如mktime,需要使用互斥锁,可以参照example/blacklist-1或者channel_stats里面的用法
首先插件顶部声明
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

总结

以上是生活随笔为你收集整理的在ATS插件中使用互斥锁的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。