2
void forloop2()
{
int i = 0;
while(TRUE)
{
printf("forloop2\n");
}
}
int main() {
GThread *Thread1;
GtkWidget *window;
g_thread_init(NULL);
gdk_threads_init();
gdk_threads_enter();
Thread1 = g_thread_create((GThreadFunc)forloop2, NULL, TRUE, NULL);
gtk_init(NULL, NULL);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show_all (window);
gtk_main();
g_thread_join(Thread1);
gdk_threads_leave();
}
창을 닫으면 Thread1
도 종료하는 방법은 무엇입니까?메인 스레드를 종료 할 때 어떻게 자식 스레드를 종료합니까?
주 스레드가 종료 될 때 자동으로 종료되는 데몬 스레드를 만들 수 있습니까? – httpinterpret
@httpinterpret 그것은 당신이하고있는 일의 특성에 달려 있습니다; 당신은 일을 모순이없는 상태로 두지 않도록 조심해야합니다. GThreadPool, 또는 조건 변수는 당신이 찾고있는 것일 수 있습니다. 멀티 스레드를 시도 할 때 높은 수준의 세부 정보를 입력 할 수 있으므로 생각할 수 있습니다. – WhirlWind
내 게시 된 데모는 정확하게 내가하는 일입니다. – httpinterpret