Mercurial > hg > Document > Growi
diff Christie/for.NET.md @ 15:7c64665b26bf
backup 2021-01-04
author | autobackup |
---|---|
date | Mon, 04 Jan 2021 00:10:03 +0900 |
parents | 9404c0e15e39 |
children | 4a2bfdc45e69 |
line wrap: on
line diff
--- a/Christie/for.NET.md Sun Jan 03 00:10:04 2021 +0900 +++ b/Christie/for.NET.md Mon Jan 04 00:10:03 2021 +0900 @@ -29,7 +29,7 @@ java TreeMap<> → C# SortedDictionary<> java HashMap<> → C# Dictionary<> java Class clazz → C# Type clazz -java LinkedBlockingQueue<> → C# ConcurrentQueue<> +java LinkedBlockingQueue<> → C# ~~ConcurrentQueue<>~~ → BlockingCollection<> java socket.getInetAddress().getHostName() → C# Dns.GetHostEntry(((IPEndPoint) socket.RemoteEndPoint).Address.ToString()).HostName java clazz.getName() → C# `type.Name` java socket.getInputStream().read() → C# socket.Receive([格納する配列]) (intの長さが返る) @@ -161,7 +161,7 @@ →Getするところでlengthが0になったもしくは 破棄をしていたらdisposeする -##### BlockingQueue使用箇所(Dispoes処理) +#### BlockingCollection使用箇所(Dispoes処理) * Connection * DataGears → fin * WaitList → fin @@ -302,6 +302,24 @@ 優先度をつけるならThreadPoolはTaskを利用できないかも --- +Task.RunとTask.Factory.Startnewについて + +無限ループさせるような、すぐには終了しないTaskについては +LongRunオプションをつける必要がある。 + +これは、Task.Runは裏でThreadPoolを作るが、この数がTask.Runの場合規定数(通常だと16(cpuに依存))に制限されており、無限ループのTaskも個の規定数にカウントされてしまうため +https://oita.oika.me/2016/02/18/task-and-threadpool/ + +それを避けるためにStartnewでTaskを作成する + +https://qiita.com/chocolamint/items/3e2e4951ea0fa2ccd19e + +--- +C#のTaskでのThreadPoolについて + +https://stackoverflow.com/questions/35734051/c-sharp-task-thread-pool-running-100-tasks-across-only-10-threads + +--- ## TODO * annotation → fin * daemon @@ -320,6 +338,7 @@ * ThreadPoolExecutorとは * CodeGearExecutor * cgm要実装 + * cg要実装 * datagear * command * Command → fin