日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

Linux下的sleep()和sched_yield()

發(fā)布時(shí)間:2024/1/23 linux 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux下的sleep()和sched_yield() 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、sched_yield()的man手冊(cè)描述如下:

? DESCRIPTION

? ? sched_yield() causes the calling thread to relinquish the CPU. The thread is moved to the end of the queue for its static priority and a new thread gets to run.

? RETURN VALUE

? ? ?On success, sched_yield() returns 0. On error, -1 is returned, and errno is set appropriately.

? ERRORS

? ? ?In the Linux implementation, sched_yield() always succeeds.

? 翻譯一下,sched_yield()會(huì)讓出當(dāng)前線程的CPU占有權(quán),然后把線程放到靜態(tài)優(yōu)先隊(duì)列的尾端,然后一個(gè)新的線程會(huì)占用CPU.那么這個(gè)和sleep()有啥區(qū)別呢?

? sched_yield()這個(gè)函數(shù)可以使用另一個(gè)級(jí)別等于或高于當(dāng)前線程的線程先運(yùn)行。如果沒(méi)有符合條件的線程,那么這個(gè)函數(shù)將會(huì)立刻返回然后繼續(xù)執(zhí)行當(dāng)前線程的程序。

? 而sleep則是等待一定時(shí)間后等待CPU的調(diào)度,然后去獲得CPU資源。

? Strategic calls to sched_yield() can improve performance by giving other threads or processes a chance to run when (heavily) contented resources(e.g.,mutexes) have been released by the caller.

? 翻譯一下,有策略的調(diào)用sched_yield()能在資源競(jìng)爭(zhēng)情況很?chē)?yán)重時(shí),通過(guò)給其他的線程或進(jìn)程運(yùn)行機(jī)會(huì)的方式來(lái)提升程序的西能。也就是說(shuō),調(diào)用sched_yield()能讓你的當(dāng)前線程讓出資源,通過(guò)一定的策略調(diào)用sched_yield()滿(mǎn)足你的業(yè)務(wù)要求可以保證各個(gè)線程或進(jìn)程都有機(jī)會(huì)運(yùn)行。

參考鏈接:https://blog.csdn.net/zk3326312/article/details/79624199

總結(jié)

以上是生活随笔為你收集整理的Linux下的sleep()和sched_yield()的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。