粒度是so。
为了简便管理,要求每个模块一个so一个入口,完成一个单一功能。
如果需要许多模块协同工作,一般情况就在客户端处理,把问题分成很多步骤,串行或并行的各个部分,按次序发给服务器,然后再合并处理,就是所谓的map-reduce方法。
服务器框架处理线程协程连接池负载均衡容错交易完整性等等乱七八糟的,挺费神的问题。
业务人员就是一方面写客户端完成流程,另一方面写模块完成具体操作。他们只需要了解各层的借口规范,了解线程安全协程安全的要求即可。
【 在 z16166 的大作中提到: 】
: 您那个动态加载没啥问题,是常见手法,要看锁的粒度是到dll/so,还是到dll/so导出的每个接口。
: 有个userspace RCU,借鉴的linux kernel的搞法,专门解决read-copy-update场景的需求,貌似也可以用来更新这个dll/so导出的接口指针表。
:
--
修改:ylh1969 FROM 221.218.60.*
FROM 221.218.60.*