gpt4 book ai didi

c - freeDiameter 和多线程

转载 作者:行者123 更新时间:2023-11-30 16:51:03 25 4
gpt4 key购买 nike

好吧,我想将 freeDiameter 与线程一起使用:)我需要一些有关在多线程环境中使用该库的建议。

让我回顾一下用例:假设我在一个类中实现了多个成员函数,以简单地为 freediameter C 函数调用提供包装方法。在 MessageRequest 方法中,我想创建 DCC 消息并发送到直径服务器。好吧,为此,我显然需要使用 fd_sess_new 和 fd_sess_getsid 函数来设置我的“Session-ID”AVP,还必须使用 session_handler 变量和 fd_sess_state_store/fd_sess_state_retrieve 函数来存储和检索 MessageResponse 上的 session 处理程序对象。那么,由于会有多个并发引用MessageRequest方法,我想问一下freediameter中的对象和函数是否是线程安全的?我应该手动处理吗?每次我要使用方法中使用的变量时,我都应该使用互斥体吗?

谢谢

最佳答案

许多(所有?)函数都是线程安全的。例如,阅读fd_sess_state_storefd_sess_state_retrieve的源代码,我们可以看到session->STLock在对数据结构进行操作时被持有。至少对于这些,不需要单独锁定。

关于c - freeDiameter 和多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41910649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com