第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Thread.Sleep少于1毫秒

Thread.Sleep少于1毫秒

慕村225694 2019-11-02 13:55:52
我想在不到1毫秒的時間內(nèi)調(diào)用線程睡眠。我沒有讀過那個線程,睡眠和Windows-OS都不支持。有什么解決方案?對于所有想知道為什么我需要這樣做的人:我正在進行壓力測試,并且想知道我的模塊每秒可以處理多少條消息。所以我的代碼是: // Set the relative part of Second hat will be allocated for each message  //For example: 5 messages - every message will get 200 miliseconds  var quantum = 1000 / numOfMessages; for (var i = 0; i < numOfMessages; i++) {      _bus.Publish(new MyMessage());      if (rate != 0)           Thread.Sleep(quantum); }我很高興得到您的意見。
查看完整描述

3 回答

?
MMMHUHU

TA貢獻1834條經(jīng)驗 獲得超8個贊

你做不到 單個睡眠呼叫通常會阻塞Thread.Sleep(1)一秒以上(它取決于操作系統(tǒng)和系統(tǒng),但以我的經(jīng)驗,通常會阻塞12到15毫秒之間)。


通常,Windows并非設(shè)計為實時操作系統(tǒng)。在Windows的普通(臺式機/服務(wù)器)版本上通常無法實現(xiàn)這種控制。


通常可以得到的最接近的結(jié)果是旋轉(zhuǎn)并消耗CPU周期,直到達到所需的等待時間(以高性能計數(shù)器衡量)。但是,這非常糟糕-您會吃光整個CPU,即使那樣,您有時還是會被操作系統(tǒng)搶占,并有效地“睡眠”超過1毫秒...


查看完整回答
反對 回復(fù) 2019-11-02
?
POPMUISE

TA貢獻1765條經(jīng)驗 獲得超5個贊

下面的代碼絕對可以提供一種更精確的阻塞方法,而不是調(diào)用Thread.Sleep(x);方法(盡管此方法將阻塞線程,而不是使其進入睡眠狀態(tài))。下面,我們使用StopWatch該類來衡量我們需要保持循環(huán)并阻塞調(diào)用線程多長時間。


using System.Diagnostics;


private static void NOP(double durationSeconds)

{

    var durationTicks = Math.Round(durationSeconds * Stopwatch.Frequency);

    var sw = Stopwatch.StartNew();


    while (sw.ElapsedTicks < durationTicks)

    {


    }

}

用法示例,


private static void Main()

{

    NOP(5); // Wait 5 seconds.


    Console.WriteLine("Hello World!");


    Console.ReadLine();

}


查看完整回答
反對 回復(fù) 2019-11-02
  • 3 回答
  • 0 關(guān)注
  • 1108 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號