我正在用C写一个共享库。我知道C函数不是线程安全的。制作C库线程安全
我的库函数的样子,
struct lib_handle {
....
};
int lib_init(lib_handle **handle);
int lib_process(lib_handle *handle);
....
....
每个方法都需要一个指针lib_handle
对象。所有的状态都存储在这个结构中。没有使用全局变量。
我假设每个线程创建它自己的lib_handle
实例,多个线程可以使用库函数。由于每个线程都有自己的句柄,所以everythibg应该可以工作。
我还没有验证这个假设。我想知道你们对这个设计有什么想法,并且为了让每个线程都有它自己的控制柄,我可以说我的库是线程安全的吗?
任何帮助将是伟大的!
此库不使用SQLite以外的任何库。 SQLite本身是线程安全的。 – 2012-08-17 05:26:14
嘿,+1,最后一个明智的问题。 – 2012-08-17 05:49:36