|
需求是这样的,按一个键,启动一个任务,然后这一任务当中进度信息要通过label显示出来,让用户知道。
我现在的做法是,在按键的回调中建立一个posix线程,该线程完成一个任务,并且进度通过label显示出来,调用的是gtk_label_set_text()。线程顺利完成,label也能显示,但是退出线程后,界面就无响应了。gdb调试一直在gtk_main_loop中,没有什么有效信息。
void button_callback(...)
{
pthread_create(...,my_task,...);
}
void *my_task(void *arg)
{
gtk_label_set_text(...,"handle 1 start!");
handle_1();
gtk_label_set_text(...,"handle 1 ok!");
gtk_label_set_text(...,"handle 2 start!");
handle_2();
gtk_label_set_text(...,"handle 2 ok!");
.......
pthread_exit(NULL);
}
大家帮我看看这个应该怎么解决呢? |
|