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

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

根據(jù)服務(wù)器負(fù)載為異步線程啟動添加延遲

根據(jù)服務(wù)器負(fù)載為異步線程啟動添加延遲

C#
素胚勾勒不出你 2021-08-07 18:00:25
我有一個查詢本地?cái)?shù)據(jù)庫并將其發(fā)布到 web api 的任務(wù)。目前,它需要所有行,將它們分成 500 個塊,然后使用異步線程設(shè)置同時發(fā)布它們。我有另一份工作,偶爾會從服務(wù)器獲取數(shù)據(jù),我在想,如果我返回服務(wù)器負(fù)載并將其存儲在Config.ServerLoad. 這是我用來設(shè)置線程的代碼:var json = JsonConvert.SerializeObject(rowDto);var threads = new Thread(new ParameterizedThreadStart(MultiThreadPostThead));var thisThread = new PostParams() { postUrl = postUrl, json = json, callingThread = threads };threads.Start(thisThread);threads.IsBackground = true;ThreadHandles.Add(thisThread);我希望添加這樣的東西:thread.delay(Config.ServerLoad * 1000);例如,如果服務(wù)器負(fù)載為 0.5,線程之間幾乎沒有延遲,但如果它是 10,它將在帖子之間等待 10 秒。我看到了一些關(guān)于 a 的信息Task.Delay(),但沒有看到任何關(guān)于線程的信息。我錯過了什么有助于增加動態(tài)值延遲或設(shè)置最大并發(fā)線程數(shù)的東西?
查看完整描述

2 回答

?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個贊

如果您想延遲新線程的啟動,那么您可以執(zhí)行以下操作


PerformanceCounter cpuCounter;

cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");


var thisThread = new PostParams() { postUrl = postUrl, json = json, callingThread = threads };

Thread.Sleep((int)(cpuCounter.NextValue() * 1000));

threads.Start(thisThread);

你可以做的另一件事是使用


threads.Sleep((int)(cpuCounter.NextValue() * 1000));

因?yàn)樗且粋€線程,所以應(yīng)該有可用的方法


這應(yīng)該獲取當(dāng)前的 Cpu 使用情況,然后在啟動新線程之前讓當(dāng)前線程休眠一段時間 - 如果您已經(jīng)在配置中存儲了一個數(shù)字,那么您可以放棄執(zhí)行上下文內(nèi)容并將其替換為您擁有的值: )


查看完整回答
反對 回復(fù) 2021-08-07
  • 2 回答
  • 0 關(guān)注
  • 174 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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