皮皮网

【tcp调试助手 源码】【庄家埋伏公式源码】【校园办公系统 源码】msleep源码

时间:2025-01-28 10:05:24 来源:cxf 源码

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报错 怎么解决 谢大神

       错误提示已经写的源码tcp调试助手 源码很明白了 你的init这个函数没有实现

function init(xxx)

         xxxx

       end

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

       或者 require你所需要的lua文件

推荐资讯
mysql 必知必会 源码_mysql的源码

mysql 必知必会 源码_mysql的源码

福建多地发布2022年知识产权行政保护典型案例

福建多地发布2022年知识产权行政保护典型案例

南京独一处酒店、珍珠饭店、摩登都市酒店价格违法被查处

南京独一处酒店、珍珠饭店、摩登都市酒店价格违法被查处

江西首个市场化知识产权维权互助基金启动

江西首个市场化知识产权维权互助基金启动

红袖添香源码_红袖添香平台怎么样

红袖添香源码_红袖添香平台怎么样

规范假期市场秩序 福建曝光8起价格违法行为典型案例

规范假期市场秩序 福建曝光8起价格违法行为典型案例

copyright © 2016 powered by 皮皮网   sitemap