c – 使用pthread时的后台线程(不错,优先级)
我有一个GUI应用程序,它使用pthreads进行一些繁重的后台处理.
在后台处理正在运行时,GUI非常无响应,我认为这是因为后台线程正在耗尽CPU时间. 在Windows上你可以在后台线程上设置:: SetThreadPriority(hThread,THREAD_PRIORITY_BELOW_NORMAL),一切都很好. 但是在Linux上我使用的是pthreads,我找不到一个好的选择. 我已经考虑过了; > :: sched_setscheduler(SCHED_FIFO)或:: sched_setscheduler(SCHED_RR) – 这是不可行的,因为它需要root(对我的GUI应用程序不好) – 这也会使GUI线程拥有太多的CPU;我只希望GUI优先于后台线程. 我确信这是GUI应用程序的一种常见模式,所以我错过了什么? 马库斯. 编辑:添加:: setpriority到选项列表(感谢ZalewaPL) 解决方法
将后台线程的良好值设置为更高的值可能会有所帮助.
参考: Nice-Level for pthreads? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |