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