gtk Thread

이번에 Thread가 먼지 확실히 알게된...
대충 하나의 프로그램의 흐름을제어 하는것..인거 같다..
fork는 같은 프로그램 이미지를 copy하는거랑 비교하면...
아 몰라 암튼

if(!g_thread_supported())
g_thread_init(NULL);
쓰레드가 지원하는지 확인하고 초기화시킨다 (역시 gtk는 함수만 봐도 딱 보인다니까..)

if(!g_thread_create((GThreadFunc)me_keys,window,FALSE,NULL))
perror("Thread ERROR");
쓰레드를 생성한다

gdk_threads_init(); //이것도 초기화
gdk_threads_enter();
gtk 함수들 ~
gdk_flush();
gdk_threads_leave();
을 랩핑한다

예시>
227 puts("Show");
228 gdk_threads_enter();
229 gtk_window_deiconify(GTK_WINDOW(widget));
230 gtk_window_present(GTK_WINDOW(widget));
231 gdk_flush();
232 gdk_threads_leave();

근데 이런식으로 해서 xlib랑 앞에 포스팅된 key_grap 할려니깐 자꾸 에러가 먹네..

Xlib: unexpected async reply (sequence~)

음 다시 찾아보니 gtk_thread_init를 빼먹었었구나..(현재 윗부분 수정)

가끔씩 맛이 가는거 빼곤 잘된다...

참고:
http://bebop.emstone.com/research/python/pygtk_faq/chapter20#id5

'Programming > GTK+' 카테고리의 다른 글

g_signal_connect의 폐해?  (4) 2007.03.30
xlib 에러 해결!  (2) 2007.02.28
vte를 이용한 간단한 터미널  (2) 2007.01.14
libglade 컴파일법  (1) 2006.12.14
TODAY.... 삽질 DAY  (6) 2006.08.09