C++ 带pthreads的后台线程

C++ 带pthreads的后台线程,c++,ios,pthreads,C++,Ios,Pthreads,我使用pthreads来创建一个后台线程,以便在后台加载和执行一些任务,但它会稍微滞后于应用程序,因为它的工作有时会很紧张 是否有任何方法可以设置较低的优先级或不同的调度(或两者的组合),以便主线程有更多的CPU时间运行?使用pthread\u attr\u setschedparam 使用SCHED_IDLE调度策略降低线程的优先级 希望下面的链接能有所帮助 使用pthread\u attr\u setschedparam 使用SCHED_IDLE调度策略降低线程的优先级 希望下面的链

我使用pthreads来创建一个后台线程,以便在后台加载和执行一些任务,但它会稍微滞后于应用程序,因为它的工作有时会很紧张


是否有任何方法可以设置较低的优先级或不同的调度(或两者的组合),以便主线程有更多的CPU时间运行?

使用
pthread\u attr\u setschedparam

使用
SCHED_IDLE
调度策略降低线程的优先级

希望下面的链接能有所帮助


使用
pthread\u attr\u setschedparam

使用
SCHED_IDLE
调度策略降低线程的优先级

希望下面的链接能有所帮助


这不是逐字回答你的问题,而是 在 苹果建议远离线程,使用“调度队列”或 例如,OSX和iOS上异步操作的“操作队列”

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
    // ... background task
});
调度队列\u优先级\u低
记录如下

调度到队列的项目以低优先级运行;队列是 计划在所有默认优先级和高优先级之后执行 排队已经排好了


这不是逐字回答你的问题,而是 在 苹果建议远离线程,使用“调度队列”或 例如,OSX和iOS上异步操作的“操作队列”

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
    // ... background task
});
调度队列\u优先级\u低
记录如下

调度到队列的项目以低优先级运行;队列是 计划在所有默认优先级和高优先级之后执行 排队已经排好了


调度队列和块可用于C、C++和Objto-C,比较.@ Xavier-RialasBoTugEs:调度队列和块可用于C、C++和Objto-C,比较。您是否包括SHDE?是的,但是SH?Dead空闲没有定义,只有SH?Sead?SuffyFIFO和SH?SReDrRRR包括SHED。h?是的,但是没有定义SCHED_IDLE,只有SCHED_OTHER、SCHED_FIFO和SCHED_RR