2012-04-10 4 views
1

스레드 안전성에 대한 glib 문서의 정보를 찾을 수 없습니다. 아마 그 스레드가 안전하지 않다고 가정해야한다는 것을 의미하지만, 공유해야하는 리소스에 대해 확신 할 수는 없습니다.glib 스레드가 안전합니까?

누구나 glib을 사용하여 스레드 안전성에 대한 경험이 있습니까? 내 glib 코드가 스레드로부터 안전한지 확인하기 위해 어떤 지침을 사용할 수 있습니까?

감사합니다.

답변

3

는 실제로 입심 참조 설명서는 스레드 안전에 대한 정보가 가득합니다 : 입심이 완전히 (모든 글로벌 데이터가 자동으로 잠겨) 스레드 안전됩니다) (g_thread_init를 호출 한 후

하지만, 개별 데이터 구조 인스턴스 성능상의 이유로 자동으로 잠기지 않습니다. 따라서 예를 들어 다중 스레드에서 동일한 GHashTable에 대한 액세스를 조정해야합니다. 이 규칙의 두 가지 주목할만한 예외는 스레드 세이프이며 응용 프로그램 수준 잠금을 여러 스레드에서 액세스 할 필요가없는 GMainLoop 및 GAsyncQueue입니다.

참조 설명서의 threads section을 참조하십시오.

관련 문제