gtk Thread
Programming/GTK+ 2007. 2. 27. 15:31
이번에 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
대충 하나의 프로그램의 흐름을제어 하는것..인거 같다..
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 |