【bind9源码安装】【网络视频vb源码】【大同扎股子源码】msleep源码

2024-11-19 08:53:33 来源:互助点赞源码 分类:百科

1.linux中如何实现sleep(0)的功能
2.lua报错 怎么解决 谢大神

msleep源码

linux中如何实现sleep(0)的功能

       å‰æ®µæ—¶é—´ä»Žwindows移植了一个程序到linux上,不知为何性能奇差。查了下原因,发现是由于一个函数ZeroSleep特别耗时,这个函数的代码很简单,如下:

       void ZeroSleep()

       {

        Sleep(0);

       }

       Sleep(0)作用是用来释放cpu的时间片,避免忙等待。于是想当然的在linux上实现为:

       void ZeroSleep()

       {

        msleep(0);

       }

       ä½†å…¶å®žmsleep API的源代码如下:

       void msleep(unsigned int msecs)

       {

        unsigned long timeout = msecs_to_jiffies(msecs) + 1;

        while (timeout)

        timeout = schedule_timeout_uninterruptible(timeout);

       }

       å¦‚此一来,即使参数为0,也至少要睡眠一个jiffies单位的时间,因此导致严重的性能问题。

       è¯¥é—®é¢˜çš„解决方法是:

       æ—¢ç„¶ZeroSleep的目的是释放cpu资源,那么就可以通过调用schedule()函数替换msleep 。而且实际上msleep本身也是通过调用schedule_timeout_uninterruptible实现的,所以这个做法也是合理的。

       /blog/static//

lua报错 怎么解决 谢大神

       错误提示已经写的源码bind9源码安装很明白了 你的init这个函数没有实现

function init(xxx)

         xxxx

       end

       补上你缺的这个函数 然后实现对应的功能

       或者 require你所需要的lua文件

更多资讯请点击:百科

热门资讯

gridstudio源码

2024-11-19 07:412872人浏览

法國巴黎奧運村正式開放

2024-11-19 07:37603人浏览

autofocus 源码

2024-11-19 06:402062人浏览

推荐资讯

gvbasic源码

1.什么是lava和java相同吗?什么是lava和java相同吗? LAVA就是Lee(开发者的笔名)和JAVA的简称. LAVA是一种伪编译的语言(这一点与JAVA相同,除此之外在语法

減稅無效 彭淮南:加薪救經濟|天下雜誌

央行總裁彭淮南呼籲,企業應支持加薪,才能真正帶動經濟的成長。

GDP無法反映現實,華爾街更看重GDI|天下雜誌

美國第一季GDP修正值出爐,再次衰退;但以GDI來看,則成長1.4%。加入GDI評估不代表美國經濟就此轉好,而能更全面地觀察經濟活動創造的薪資、獲利與稅收。