Tag: 睡眠

睡眠的意义(0)

我曾经在我的代码的某些部分看到Sleep(0) ,其中有些无限/长时间循环可用。 我被告知,这将使时间片可用于其他等待进程。 这是真的? Sleep(0)有意义吗?

睡眠()后面的algorithm是什么?

现在我总是想知道:sleep()是如何实现的? 如果是从操作系统使用API​​,那么API是如何制作的? 这一切都归结为在CPU上使用特殊的机器码吗? 那个CPU是否需要一个特殊的协处理器或其他小玩意儿,没有它你不能睡觉()? 睡眠()的最着名的化身是C语言(在C语言编译器附带的库(比如GNU的libc)中更加准确),尽pipe今天几乎所有的语言都有它的等价物,但是在某些语言中实现睡眠认为Bash)不是我们在这个问题上看的… 编辑:在阅读了一些答案之后,我看到这个过程被放置在一个等待队列中。 从那里,我可以猜到两种select 一个定时器被设置,以便内核在适当的时候唤醒进程,或者 每当内核被允许一个时间片时,它就轮询时钟以检查是否该唤醒进程。 答案只提到替代scheme1.因此,我问:这个计时器如何performance? 如果这是一个让内核唤醒进程的简单中断,那么内核怎么会要求定时器“在140毫秒内唤醒我,这样我才能使进程处于运行状态”?

在VBA中是否有等价于Thread.Sleep()?

在Access VBA中是否有与Thread.Sleep()相当的function?

任何桌面浏览器都可以检测计算机何时从睡眠中恢复?

如果计算机的“唤醒”事件传播到浏览器并在JavaScript API中可用,那将会很好。 有没有人知道这样的事情是否被执行?

如何“睡眠”,直到在.NET 4.0中请求超时或取消

什么是睡眠一定时间的最佳方式,但能够被CancellationToken的IsCancellationRequested中断? 我正在寻找一个在.NET 4.0中工作的解决scheme。 我想写 void MyFunc (CancellationToken ct) { //… // simulate some long lasting operation that should be cancelable Thread.Sleep(TimeSpan.FromMilliseconds(10000), ct); }

NetBeans / Java /新提示:在循环中调用Thread.sleep

在NetBeans中,有一个新的提示: Thread.sleep在循环中调用。 问题1:如何在一个循环中睡觉? 问题2:如果是问题,我应该怎么做? 更新:问题3:这是一些代码。 在这种情况下告诉我,如果我应该在循环中使用其他的东西而不是Thread.Sleep。 简而言之,这是由侦听客户端TCP连接的服务器使用的。 在达到与客户端的最大会话数的情况下,此处使用睡眠。 在这种情况下,我希望应用程序等待空闲的会话可用。 public class SessionManager { private static final int DEFAULT_PORT = 7500; private static final int SLEEP_TIME = 200; private final DatabaseManager database = new DatabaseManager(); private final ServerSocket serverSocket = new ServerSocket(DEFAULT_PORT); public SessionManager() throws IOException, SQLException { } public void listen() { while (true) if […]

什么是_GLIBCXX_USE_NANOSLEEP?

名为_GLIBCXX_USE_NANOSLEEP的预处理器macros出现在两个标准头文件中: C ++ / 4.7.1 / x86_64的未知-Linux的GNU /比特/ C ++的config.h C ++ / 4.7.1 /线程 在GCC 4.7.1(Linux,64位)的默认版本中, c ++ config.h包含的唯一东西就是这个注释: /* Defined if nanosleep is available. */ /* #undef _GLIBCXX_USE_NANOSLEEP */ 而在线程中 , std::this_thread::sleep_for()和std::this_thread::sleep_until()定义取决于要定义的macros。 如果没有定义,那么这两个函数 – 尽pipe是C ++标准所要求的 – 都不会被定义。 在我的系统(glibc 2.15)中,虽然nanosleep()函数(在ctime声明)存在且可操作,但未定义该macros。 我想知道这是什么和如何处理它。 特别: 正如本文所build议的那样,在构buildGCC的时候应该使用一个configuration选项来默认激活这个macros? (我在构build过程的在线文档中找不到任何内容。) nanosleep()函数和macros之间真的有关系吗? nanosleep()在ctime / time.h中的声明似乎不依赖于或定义macros。 在我自己的头文件中定义macros是否有特定的风险,或者在命令行中使用-D选项(如本相关问题中所build议的)? 如果我在nanosleep()不可用的系统上执行此操作,又怎么能find? 更新从GCC 4.8开始,对std::this_thread::sleep_for()等的支持自动包含在libstdc ++中。 […]

Thread.sleep与TimeUnit.SECONDS.sleep

如果我要打电话让Java线程进入睡眠状态,是否有理由select其中一种forms? Thread.sleep(x) 要么 TimeUnit.SECONDS.sleep(y)

为什么睡眠(500)的成本超过500毫秒?

我在我的代码中使用了Sleep(500) ,并使用getTickCount()来testing计时。 我发现它的成本大约是515ms,超过了500个。有人知道这是为什么吗?

如何使用Qt创build暂停/等待function?

我正在玩Qt ,我想在两个命令之间创build一个简单的停顿。 但是,似乎不让我使用Sleep(int mili); ,我找不到任何明显的等待function。 我基本上只是做一个控制台应用程序来testing一些类的代码,这些代码稍后将包含在一个合适的Qt GUI中,所以现在我不打扰整个事件驱动模型。