当前位置: 技术问答>linux和unix
线程和界面
来源: 互联网 发布时间:2016-08-27
本文导语: 我想把费时长的操作放到线程中执行,让界面快速显示出来,但是我发现调用pthread_create创建一个线程之后,线程立马就执行了,我记得在VC里有函数可以让线程暂时不执行的,不知道linux下有没有这样的函数,我现在...
我想把费时长的操作放到线程中执行,让界面快速显示出来,但是我发现调用pthread_create创建一个线程之后,线程立马就执行了,我记得在VC里有函数可以让线程暂时不执行的,不知道linux下有没有这样的函数,我现在是调用g_timeout_add,在g_timeout_add的回调函数里创建线程,见面显示的速度确实快很多,但总感觉这种方法不妥,你们是怎么处理这种情况的?
|
最近总是看到楼主。
你是用gtk吧?gtk里最好不要用pthread_create.
我一般用得就是g_thread_create,g_timeout_add,g_idle_add。没有啥不妥的。
你是用gtk吧?gtk里最好不要用pthread_create.
我一般用得就是g_thread_create,g_timeout_add,g_idle_add。没有啥不妥的。
|
Linux有类似函数sched_yeild()
在线程开始时执行主动让出CPU
在线程开始时执行主动让出CPU
|
pthread确实没有暂停/恢复的函数。
可以用线程同步来实现。
可以用线程同步来实现。
|
线程和界面。
唉。。。
一直没找到一个合适的方法解决问题
唉。。。
一直没找到一个合适的方法解决问题
|
用线程同步来解决啊,可以用个条件变量,也可以简单用管道来