ã¿ã° Windows  /  ã¤ã³ã¹ãã¼ã«Â  /  Linux  /  è¨å®Â  /  ã¨ã©ã¼Â  /  Java  /  Eclipse  /  AutoHotkey  /  TeX  /  C#  /  VisualStudio2008  /  対ç  /  Subversion  /  LaTeX  /  Vista  /  æ¹æ³Â  /  CentOS  /  Android  /  Microsoft  /  Windows7  /  Office  /  ãã¼ã¸ã§ã³ç®¡ç  /  ããã°ã©ãã³ã°Â  /  eclipse  /  PowerPoint  /  SSH  /  Ubuntu  /  WindowsVista  /  ã³ãã³ã  /  ã·ã§ã¼ãã«ãã  /  .NET  /  Desire  /  VisualStudio  /  便å©Â  /  P2P  /  Unix  /
ãã®ãã©ã¦ã¶ã¼ã¯ãµãã¼ããããªããªãã¾ããã Microsoft Edge ã«ã¢ããã°ã¬ã¼ãããã¨ãææ°ã®æ©è½ãã»ãã¥ãªãã£æ´æ°ããã°ã©ã ãããã³ãã¯ãã«ã« ãµãã¼ããå©ç¨ã§ãã¾ãã æ´æ° : 2007 å¹´ 11 æ 以ä¸ã®ä¿¡é ¼æ§ã®è¦å㯠SQL Server åãã®è¦åã§ããããã¹ã ãã¼ã¹ã®ãµã¼ãã¼ ã¢ããªã±ã¼ã·ã§ã³ã«ãé©ç¨ããã¾ããSQL Server ã®ãããªãµã¼ãã¼ã§ã¯ããªã½ã¼ã¹ããªã¼ã¯ããããåæ¢ãããããªããã¨ãé常ã«éè¦ã¨ãªãã¾ãããã ãããªãã¸ã§ã¯ãã®ç¶æ ãå¤æ´ãããã¹ã¦ã®ã¡ã½ããã®ããã¯ã¢ã¦ã ã³ã¼ããè¨è¿°ãã¦ããããã¯å®ç¾ã§ãã¾ãããããã¯ã¢ã¦ã ã³ã¼ãã«ãã£ã¦ããããå ´æã§ã¨ã©ã¼ããå復ããã100% ä¿¡é ¼ã§ããããã¼ã¸ ã³ã¼ããä½æãããã¨ãç®æ¨ã§ã¯ããã¾ãããããã¯ãæåã®è¦è¾¼ã¿ãã»ã¨ãã©ãªãå°é£ãªä½æ¥ã§ããå ±éè¨èªã©ã³ã¿ã¤ã (CLR: Common Lang
æ¦è¦ 注æï¼ 2010å¹´10ææç¹ã§ã® CTP ï¼community technology previewï¼çãå ã«ããè¨äºã«ãªã£ã¦ãã¾ãã 製åçã¾ã§ã«å¤æ´ã®å¯è½æ§ãããã¾ãã ï¼async ã await ã¨ãããã¼ã¯ã¼ããå¤æ´ãããå¯è½æ§ãããï¼ Ver. 5.0 ã¹ã¬ããã使ã£ãéåæå¦çãè¡ãããåæ©ã¨ãã¦ã¯ã以ä¸ã®2ã¤ãæãããã¾ãã éããããã³ã°å¦ç: I/O å¾ ã¡ã¨ã㧠UI ã¹ã¬ãããããªã¼ãºãããªãããã«ãã 並åå¦ç: ãã«ãã³ã¢ãæ´»ããã並åå¦çã§ããã©ã¼ãã³ã¹åä¸ ãã®ãã¡ã並åå¦çã«é¢ãã¦ã¯ãParallel ã¯ã©ã¹ã Parallel LINQ ã§ç°¡åã«å¯¾å¿å¯è½ ï¼ã©ã ãå¼ã LINQ ã使ãã°ã並åãããªãå ´åã¨ã»ã¨ãã©å¤ãããæ¸ãã¾ãã åèï¼ ã[éè¨] ã¹ã¬ãã ãã¼ã«ã¨ã¿ã¹ã¯ãï¼ã ä¸æ¹ã®ãéããããã³ã°å¦çã¯ãä»ã¾ã§ã¯çµæ§é¢åã ã£ããã®ã®ã as
æ¦è¦ Ver. 4.0 C# 3.0 ã§å°å ¥ãããã©ã ãå¼ã¨ã .NET 4 ã§å°å ¥ããã TaskãParallelãParallelEnumerable ãªã©ã®ã¯ã©ã¹ã使ããã¨ã§ã éåæå¦çã並åå¦çãç°¡æ½ã«è¨è¿°ã§ããããã«ãªãã¾ããã ã¾ããC# 5.0 ã§ã¯éåæå¦çç¨ã®æ°æ§æã追å ãããäºå®ã§ãã åèï¼ ãéåæå¦çã ãã®ãã¼ã¸ã§ã¯ããããéåæå¦çã®åºç¤ã¨ãªã Task ã¯ã©ã¹ãããã®èå¾ã«ããã¹ã¬ãã ãã¼ã«ã¨ãããã®ã«ã¤ãã¦èª¬æãã¦ããã¾ãã ãã¤ã³ã ã¹ã¬ããã¯ãããªãã«é«ã³ã¹ããªã®ã§ä½¿ãåããããã â ã¹ã¬ãã ãã¼ã«ã ã¹ã¬ãã ãã¼ã«ã使ã£ãéåæå¦çãè¡ãã«ã¯ã.NET Framework 4 ã§å°å ¥ããã Task ã¯ã©ã¹ã便å©ã§ãã ã¹ã¬ããã使ã£ãéåæå¦çãè¡ãããåæ©ã¨ãã¦ã¯ã以ä¸ã®2ã¤ãæãããã¾ãã éããããã³ã°å¦ç: I/O å¾ ã¡ã¨ãã§
ã¾ã Linux ã«ã¼ãã«ã®è©±ã§ãã Linux ã§ã¯ fork ã«ãããã«ãããã»ã¹ã¨ãpthread ã«ãããã«ãã¹ã¬ããã§ã®ä¸¦è¡å¦çãæ¯è¼ããå ´åãå¾è ã®æ¹ãã³ã¹ããä½ãé«éã¨è¨ããã¾ãããã¹ã¬ããã¯ã¡ã¢ãªç©ºéãå ±æããã®ã§ããã«ãããã»ã¹ã¨ã¯ç°ãªãã³ã³ããã¹ãã¹ã¤ããæã«ã¡ã¢ãªç©ºéã®åãæ¿ããçç¥ã§ãããåãæ¿ãã«ä¼´ããªã¼ãã¼ããããå°ãªãããã¨ããã®ã FAQ ã®çããã¨æãã¾ãã ãããªã¼ãã¼ããããå°ãªããã¨ä¸è¨ã«ãããã¦ãå ·ä½çã«ã©ããããã¨ãªã®ããã¤ã¡ã¼ã¸ã§ãã¾ããããã㧠Linux ã®ã¹ã¬ããå¨ãã®å®è£ ãè¦ã¦è¦ãããããªãããã¨ããã®ãä»åã®ãã¼ãã§ãã 3åã§ããã(?) ãã«ãããã»ã¹ã¨ãã«ãã¹ã¬ãã ã¾ãã¯ããã¡ãããã«ãããã»ã¹ã¨ãã«ãã¹ã¬ããã®éãã®å³ã以åã«ç¤¾å ã§åå¼·ä¼ãããã¨ãã«ä½ã£ãè³æã«ã¡ããã©è¯ãã®ããã£ãã®ã§æ²è¼ãã¾ããPthreadsããã°ã©ã
AsyncOperationManager 㨠AsyncOperation .NET Framework ã® AsyncOperationManager ã¯ã©ã¹ã¨ AsyncOperation ã¯ã©ã¹ã¯ãSynchronizationContext ãæ½è±¡åãã軽éã®ã©ããã¼ã§ããAsyncOperationManager ã¯ã©ã¹ã¯ãAsyncOperation ã®ååä½ææã«ç¾å¨ã® SynchronizationContext ããã£ããã£ããç¾å¨ã® SynchronizationContext ã null ã§ããã°æ¢å®ã® SynchronizationContext ã«ç½®ãæãã¾ããAsyncOperation ã¯ã©ã¹ã¯ããã£ããã£ãã SynchronizationContext ã«ããªã²ã¼ããéåæã«ãã¹ããã¾ãã ã»ã¨ãã©ã®ã¤ãã³ããã¼ã¹ã®éåæã³ã³ãã¼ãã³ãã¯ããã®å®è£ å ã§
.NET ã¢ããªã±ã¼ã·ã§ã³ã§ã®ãããããã¯ã®åé¿ã¨æ¤åºã®æ¡å¼µææ³ Joe Duffy ãã®è¨äºã§åãä¸ãã話é¡: ãããããã¯ãçºçããçµç·¯ã®ç解 ããã¯ã®ã¬ãã«ä»ãã使ç¨ãããããããã¯ã®åé¿ ãããããã¯ã®æ¤åºããã³æç ´ ãããããã¯ã®æ¤åºã®ããã®ã«ã¹ã¿ã CLR ãã¹ãã®æ¤æ» ãã®è¨äºã§ä½¿ç¨ããæè¡: .NET FrameworkãC#ãC++ ãµã³ãã«ã³ã¼ãã®ãã¦ã³ãã¼ã: Deadlocks.exe (188KB) 翻訳å : Advanced Techniques To Avoid And Detect Deadlocks In .NET Apps (è±èª) ç®æ¬¡ ãããããã¯ã®æ¦è¦ ãã®ä»ã®å¾®å¦ãªãããããã¯ã®ä¾ ããã¯ã®ã¬ãã«ä»ãã使ç¨ãããããããã¯ã®åé¿ ãããããã¯ã®æ¤åºããã³æç ´ ã¢ã«ã´ãªãºã ãã¹ãããå´ã® API ãéããèå¯ å¾ æ©ã°ã©ãã®ä½æããã³å ¨æ¢ç´¢ ã«ã¹ã¿
ãã®ãã©ã¦ã¶ã¼ã¯ãµãã¼ããããªããªãã¾ããã Microsoft Edge ã«ã¢ããã°ã¬ã¼ãããã¨ãææ°ã®æ©è½ãã»ãã¥ãªãã£æ´æ°ããã°ã©ã ãããã³ãã¯ãã«ã« ãµãã¼ããå©ç¨ã§ãã¾ãã .NET ã¢ããªã±ã¼ã·ã§ã³ã®ä¸¦åå¦çã«ã¤ãã¦ã®éå»ãç¾å¨ãæªæ¥ Stephen Toub éå»ã®ä¸¦åå¦ç ã¹ã¬ããã®ç´æ¥æä½ã¯ãå¿çæ§ã®é«ãã¯ã©ã¤ã¢ã³ã ã¢ããªã±ã¼ã·ã§ã³ã並åã¢ã«ã´ãªãºã ãããã³ã¹ã±ã¼ã©ãã«ãªãµã¼ãã¼ãå®ç¾ããããã«ã以åããéçºè ãæ¡ç¨ãã¦ããæ¹æ³ã§ãããããããã®ææ³ã¯ããããããã¯ãã©ã¤ãããã¯ããã㯠ã³ã³ãã¤ã2 ã¹ããã ãã³ã¹ã競åããªã¼ãã¼ãµãã¹ã¯ãªãã·ã§ã³ã¨ãã£ãã¢ããªã±ã¼ã·ã§ã³ãæã¾ãããªãç¶æ ã«é¥ããã温åºã§ãããã¾ãããMicrosoft .NET Framework ã¯ããã®èªç以æ¥ãå°ç¨ã®åå空é (System.Threading) ãªã©ãåæå®è¡ã¢ããªã±ã¼ã·ã§
Given the nums array above, we can use our reduction routine to find the min and max of the array: int min = Reduce(nums, int.MaxValue, (x,y) => x < y ? x : y;); int max = Reduce(nums, int.MinValue, (x,y) => x > y ? x : y;); (Count is omitted because the partial results must be summed, requiring two separate binary operators, and Average is omitted because it also requires some extra steps.) You c
é常ãéåææä½ã¯ã大ããªãµã¤ãºã®ãã¡ã¤ã«ãéãããªã¢ã¼ã ã³ã³ãã¥ã¼ã¿ã«æ¥ç¶ããããã¼ã¿ãã¼ã¹ã«åãåããããªã©ãå®äºããã¾ã§ã«æéã®ãããå¯è½æ§ãããã¿ã¹ã¯ãå®è¡ããããã«ä½¿ç¨ãã¾ããéåææä½ã¯ãã¡ã¤ã³ ã¢ããªã±ã¼ã·ã§ã³ ã¹ã¬ããã¨ã¯å¥åã®ã¹ã¬ããã§å®è¡ããã¾ããã¢ããªã±ã¼ã·ã§ã³ãéåææä½ãå®è¡ããã¡ã½ãããå¼ã³åºããå ´åãã¢ããªã±ã¼ã·ã§ã³ã¯ãéåæã¡ã½ãããã¿ã¹ã¯ãå®è¡ãã¦ããéãåä½ãç¶ç¶ã§ãã¾ãã .NET Framework ã«ã¯ãéåææä½ã®ãã¶ã¤ã³ ãã¿ã¼ã³ã¨ãã¦æ¬¡ã® 2 ã¤ãç¨æããã¦ãã¾ãã IAsyncResult ãªãã¸ã§ã¯ãã使ç¨ããéåææä½ ã¤ãã³ãã使ç¨ããéåææä½ IAsyncResult ãã¶ã¤ã³ ãã¿ã¼ã³ã§ã¯ããã¾ãã¾ãªããã°ã©ãã³ã° ã¢ãã«ã使ç¨ã§ãã¾ãããç¿å¾ããã®ã«æéãããããã»ã¨ãã©ã®ã¢ããªã±ã¼ã·ã§ã³ã§å¿ è¦ã¨ããã以ä¸ã®æè»æ§ãæä¾ãã¾
ç®æ¬¡ ã¯ãã㫠対象èªè å¿ è¦ãªç°å¢ å¥ã¹ã¬ãããããã©ã¼ã ãã³ã³ããã¼ã«ãæ±ã Invokeã¡ã½ãã BeginInvokeã»EndInvokeã¡ã½ãã InvokeRequiredãããã㣠MethodInvokerã»EventHandlerããªã²ã¼ã å¾ æ©ãã³ãã« ManualResetEvent AutoResetEvent ã¹ã¬ãããã¼ã« å¼æ°ã®æå® ã¹ã¬ãããã¼ã«ã®å¶é éåæããªã²ã¼ã ã¡ã½ããã®çµäºãç¥ã ã³ã¼ã«ããã¯ã¡ã½ããã®ä½¿ç¨ éåæã¡ã½ãã å¥ã¹ã¬ããã¨ã®ãã¼ã¿ã®åã渡ã ã³ã¼ã«ããã¯ããªã²ã¼ãã®ä½¿ç¨ Interlockedã¯ã©ã¹ ã¹ã¬ããã®åæãè¡ããã«è¤æ°ã®ã¹ã¬ããããåããã£ã¼ã«ãã«ã¢ã¯ã»ã¹ãã ã¾ã¨ã åèè³æ ã¯ããã« ååã®ãã¼ã1ã§ã¯ãã³ã³ã½ã¼ã«ã¢ããªã±ã¼ã·ã§ã³ã®ãµã³ãã«ãä½æããªããã.NET Frameworkã«ãããã¹ã¬ããã®å®è¡ãåæã®æ¹æ³ãª
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}