中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

萊蕪金點子廣告電子版2024seo網(wǎng)站推廣價格

萊蕪金點子廣告電子版2024,seo網(wǎng)站推廣價格,免費的活動策劃網(wǎng)站,建設什么網(wǎng)站掙錢場景 有個Service類,自己在內部實現(xiàn)生產(chǎn)者/消費者模式。即多個指令輸入該服務后對象后,Service內部有專門的消費線程執(zhí)行傳入的指令。每個指令的執(zhí)行間隔為1秒。這里有兩部分組成, 工作線程的載體。new Thread與Task.Run。執(zhí)行等待的方法。…

場景

有個Service類,自己在內部實現(xiàn)生產(chǎn)者/消費者模式。即多個指令輸入該服務后對象后,Service內部有專門的消費線程執(zhí)行傳入的指令。每個指令的執(zhí)行間隔為1秒。這里有兩部分組成,

  1. 工作線程的載體。new ThreadTask.Run。
  2. 執(zhí)行等待的方法。Thread.SleepTask.Delay

測試環(huán)境

cpu: AMD 3700x 8核16線程
RAM:128G 3200MHz

示例代碼

public class Service
{public Service(int id, Action f, int delayMillisecond = 1000){Id = id;F = f;DelayMillisecond = delayMillisecond;}private int DelayMillisecond;private BlockingCollection<Action> _collection = new BlockingCollection<Action>();public int Id { get; }public Action F { get; }public void AddAction(){_collection.Add(F);}public void Run1(){new Thread(Worker_Sleep).Start();}public void Run2(){new Thread(Worker_Delay).Start();}public void Run3(){Task.Run(Worker_Sleep);}public void Run4(){Task.Run(Worker_Delay);}private void Worker_Sleep(){{foreach (var action in _collection.GetConsumingEnumerable()){action?.Invoke();Thread.Sleep(DelayMillisecond);}}}private async void Worker_Delay(){{foreach (var action in _collection.GetConsumingEnumerable()){action?.Invoke();await Task.Delay(DelayMillisecond);}}}
}

使用BlockingCollection存儲指令并通過GetConsumingEnumerable消費。

  • run1。Thread+Thread.Sleep
  • run2。Thread+Task.Delay。
  • run3。Task.Run+Thread.Sleep
  • run4。Task.Run+Task.Delay
var serviceCount = 200; // 服務數(shù)量
var actionCount = 3; // 指令個數(shù)
var actionInterval = 1000; // 指令執(zhí)行時間間隔ms
var services = new List<Service>();Action f = () =>
{Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss ffff")}\t{Thread.CurrentThread.ManagedThreadId}\tCount:{Count}");
};// 生成所有服務對象
for (int i = 0; i < serviceCount; i++)
{var s = new Service(i, f, actionInterval);services.Add(s);
}Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss ffff")}\tRun");
services.ForEach(s => s.Run2());while (true)
{// 輸入任意內容,啟動var msg = Console.ReadLine();Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss ffff")}\tStart!!!!!!!!!!");// 每個服務對象自行輸入指令services.ForEach(s =>{for (int i = 0; i < actionCount; i++){s.AddAction();}});
}

測試參數(shù)組為
serviceCount,50,100,200,500,1000。(其他使用默認)

類型對象個數(shù)指令個數(shù)間隔完成耗時
run150312.3s
run1100312.1s
run1200312.2s
run1500312.4s
run11000312.9s
run250312.3s
run2100312.5s
run2200313.1s
run2500315.2s
run210003110.5s
run3503127s
run31003178s
run320031-
run350031-
run3100031-
run450312.2s
run4100312.1s
run4200312.2s
run4500312.4s
run41000312.7s

3個指令,1秒間隔,理想狀態(tài)下,完成耗時應是2秒。且隨著對象個數(shù)增多,仍然能保持在一個合理范圍。
由以上數(shù)據(jù)可知,run1run4是在時間消耗上比較符合期望。

  • run1。Thread+Thread.Sleep
  • run4。Task.Run+Task.Delay。

我們更改參數(shù),比較兩者的cpu占用情況。測試參數(shù)如下:
服務數(shù)量:serviceCount=2000
指令個數(shù):actionCount=50
指令執(zhí)行時間間隔/ms:actionInterval = 1000
cpu占用情況如圖。
在這里插入圖片描述

服務數(shù)量:serviceCount=200
指令個數(shù):actionCount=50
指令執(zhí)行時間間隔/ms:actionInterval = 1000
cpu占用情況如圖。
在這里插入圖片描述
基于這兩張圖,可以得到初步結論:

  1. Task.Run+Task.Delay在初始化階段需要占用較大的cpu資源。后續(xù)較為平穩(wěn),對數(shù)量的增加并不敏感(200到2000)
  2. Thread+Thread.Sleep在初始化期間與正常運行兩個周期,前后一致性較強。但是對數(shù)量的增加敏感(200到2000)
http://m.risenshineclean.com/news/61380.html

相關文章:

  • 網(wǎng)站工作溝通及建設seo培訓教程
  • 峰峰專業(yè)做網(wǎng)站網(wǎng)絡安全培訓
  • 做網(wǎng)站有哪些公司好友鏈出售
  • 軟件庫合集資料網(wǎng)站網(wǎng)店買賣有哪些平臺
  • 中電建鐵路建設公司網(wǎng)站網(wǎng)頁設計代碼
  • 網(wǎng)站審批需要什么手續(xù)東莞優(yōu)化seo
  • 內蒙包頭網(wǎng)站開發(fā)公司培訓課程有哪些
  • 網(wǎng)站開發(fā)平均工資湖南百度seo
  • 云免網(wǎng)站空間外貿(mào)網(wǎng)絡推廣經(jīng)驗
  • 網(wǎng)站優(yōu)化建設哈爾濱3322免費域名注冊
  • 企業(yè)網(wǎng)站托管搜索引擎優(yōu)化師
  • 做電影種子下載網(wǎng)站違法嗎廣州新聞熱點事件
  • 網(wǎng)站開發(fā)職業(yè)總結企業(yè)網(wǎng)站設計價格
  • 做網(wǎng)站服務器e3百度網(wǎng)盤搜索入口
  • 找人做網(wǎng)站應該注意哪些網(wǎng)店推廣的方式
  • 京京商城搜索引擎快速優(yōu)化排名
  • 做寫手一般上什么網(wǎng)站好中國紀檢監(jiān)察報
  • 紅河個舊網(wǎng)站建設網(wǎng)站關鍵字優(yōu)化軟件
  • ftp如何上傳網(wǎng)站手機建網(wǎng)站軟件
  • 韶關網(wǎng)站建設第一品牌阿里巴巴國際站運營
  • 公司的網(wǎng)站難不難做網(wǎng)絡優(yōu)化工程師前景如何
  • 陜西省建設資質是哪個網(wǎng)站百度用戶服務中心官網(wǎng)
  • 做網(wǎng)站鼠標移動 鏈接變顏色百度推廣培訓機構
  • 怎么做域名網(wǎng)站備案網(wǎng)站建設方案推廣
  • 外協(xié)機械加工訂單sem和seo有什么區(qū)別
  • html5網(wǎng)站模板 站長網(wǎng)百度云網(wǎng)盤免費資源
  • 網(wǎng)站開發(fā)及運營代理協(xié)議范本友情鏈接怎么做
  • 兩學一做 網(wǎng)站網(wǎng)絡安全培訓機構排名
  • 神農(nóng)架網(wǎng)站建設公司阿里云建網(wǎng)站
  • 企業(yè)網(wǎng)站數(shù)防泄露怎么做開車搜索關鍵詞