Piszę wspólną bibliotekę w C. Wiem, że funkcje C nie są bezpieczne dla wątków.Tworzenie bezpiecznej biblioteki C
Moi funkcje biblioteczne wygląda,
struct lib_handle {
....
};
int lib_init(lib_handle **handle);
int lib_process(lib_handle *handle);
....
....
Każda metoda pobiera wskaźnik do lib_handle
obiektu. Cały stan jest przechowywany wewnątrz tej struktury. Nie są używane żadne zmienne globalne.
Zakładam, że jeśli każdy wątek tworzy własne instancje lib_handle
, wiele wątków może korzystać z funkcji biblioteki. Ponieważ każdy wątek ma swój własny uchwyt, everythibg powinien działać.
Nie zweryfikowałem jeszcze tego założenia. Zastanawiam się, co myślicie o tym projekcie i czy możecie powiedzieć, że moja biblioteka jest bezpieczna dla wątków, ponieważ każdy wątek ma swoje własne uchwyty?
Każda pomoc będzie świetna!
Ta biblioteka nie korzysta z żadnych bibliotek innych niż SQLite. Sam SQLite jest bezpieczny dla wątków. –
Hej, +1, w końcu rozsądne pytanie. –