ãã®è¨äºã¯ Go Advent Calendar 2014ã16æ¥ç®ã®è¨äºã§ãã ã¯ããã« Matz ããã streem ã¨ãããã¹ããªã¼ã æåè¨èªã®éçºãå§ãããããã§ãã ã¾ã ææ³ã®è¨è¨æ®µéã§ã¯ãããã©ããããªã®ã«ããªãã®éã® pull-req ããã³ãã³ã¨æ¥ã¦ã¦åããªã¼ã¨æãã¤ã¤ãããã® pull-req éã ã¨åã«ã¯åºçªç¡ããªã¼ãã¨æã£ãã®ã§ãREADME.md ã«æ¸ããã¦ãããµã³ãã«ã ããé ¼ãã« streem ã golang ã§å®è£ ãã¦ã¿ã¾ããã å æ¥ã¯ãã¿ã§ streem ã®ãããã㦠yacc å®ç¾©é¨åã ãå ¬éãã¦ãã¾ããããæ¬æ¥ãã¿ãç¡ãä¸ã«TLããã¼ãã¢ãããã¦ç¦ãã«ç¦ã£ã¦å¢ãã§å®è£ ãã¦ã¿ã¾ãããããã¯ãç°æ§ãªè¿½ãè¾¼ã¿ãæãã¾ãããã ã¾ã㯠streem ãç¥ã streem 㯠README.md ã«æ¸ããã¦ããéã並åå®è¡ãè¡ãã¤ã¤ã¹ããªã¼ã ãå¦çããè¨èªã§ãã
ï¼ä»¥ä¸ã¯go 1.2.xæç¹ã§ã®è©±ã§ããå°æ¥çã«ä»æ§ãããããã©ããã¯ãããã¾ããï¼ ãããèªãã§ãã¦ãããããã®æ°ã«ãã¦ãªã人å¤ããã ãããªã¼ã¨æã£ã¦ãæ¸ãã¦ã¿ã¾ããå ã®ãã¹ãã¯deferã®æåã«ã¤ãã¦èªã£ã¦ããããã«è¦åããããããã©ããããã¯è¦ã¯è¤æ°ã¹ã¬ããã§å®è¡ãããã³ã¼ãã«ã¤ãã¦ãããã°ã©ã çµäºæã«åæã¨ãåããããªããã¨ãã話ã ã¨æã£ãã®ã§ããã®ãã¹ãã®deferãæ£ããåããã«ã¯â¦ã¨ããã¨ããããã©ãããå½¢ã§goroutineå士ã§åæãåãæ¹æ³ãããã®ããä¸ä¾ãæ¸ãåºãã¦ããã¾ãã TL;DR; goã§ãããgoroutineãæ°è»½ã«ãããããã¨è¨ã£ã¦ãè¤æ°ã¹ã¬ããã§å¦çãè¡ããã¦ããã®ã§åæã¯ããã³ã¨ãããªãã¨ãã¡ã§ããã deferã®åºæ¬ goã§ã¯LLã®ããªã§ã³ã¼ããæ¸ããã®ã売ãã®ä¸ã¤ã§ãããã¡ã¢ãªç®¡çã¯ãã¦ããããã®ã®ãæ§ã ãªãªã½ã¼ã¹è§£æ¾ãå ¨ã¦èªåã¨ããããã§ã¯ãã
intro å æ¥ã® Go ã®ã«ã³ãã¡ã¬ã³ã¹ GoCon ã§ã Go ã®ä¸¦è¡å¦çå¨ãã«ã¤ãã¦çºè¡¨ããã¦é ãã¾ããã Go Conference 2013 spring - connpass å ·ä½çã«ã¯ Goroutine ã Channel ã®è©±ã§ããããããã®æ©è½ã¯çµæ§é¢ç½ãã¦ãããã£ã¦éãã§ãã ãã§ããããããã¾ãã Go ã®ä¸¦è¡å¦çã¯ãè¨è¨æ¹éãããã¨ç¹æ®ã ã¨æãã®ã§ãããè¨è¨ãã·ã³ãã«ãªã®ã§åããã¨ããã¾ã§é£ããã¯ãªãã§ãã (使ãããªãã®ã¯ãçµé¨ãå¿ è¦ããã§ãã) ä»å話ãã«ããã£ã¦è²ã 調ã¹ã¾ããããçºè¡¨æéã®é½åä¸çãããã®ããããã質çå¿çã§èããã¦å¿ããããªãã£ããã¨ãããã®ã§ã ããã§ã¾ã¨ãã¦ç½®ããã¨æãã¾ãã çºè¡¨è³æ ä»åã®çºè¡¨è³æã¯ãã¡ãã§ãã ãã®ããã°ã®å 容ã¯ãããããã¼ã¹ã«ãã¾ãã http://jxck.node-ninja.com/slides/gocon-
RubyKaigi 2013 ã¬ãã¼ã Jose ValimãRubyã«ããã並è¡ããã°ã©ãã³ã°ã®ããã®ããã¤ãã®ã¢ã¤ãã¢ãææ¡ãï½ RubyKaigi 2013 åºèª¿è¬æ¼ 2æ¥ç® 2013å¹´5æ30æ¥ï½6æ1æ¥ã®3æ¥éããå°å ´ã«ããæ±äº¬å½é交æµé¤¨ã«ã¦RubyKaigi 2013ãéå¬ããã¦ãã¾ããåºèª¿è¬æ¼ãããããã¬ãã¼ããã¾ãã 2æ¥ç®ã®åºèª¿è¬æ¼ã®æ¼è ã¯Jose Valimã§ããå¸ä¼ã®è§è°·ããã«ãããåèµ·åããRubyKaigiã®åºèª¿è¬æ¼ã«æããµãããã人ç©ã®ä¸äººãã¨ç´¹ä»ããããJoseã¯ãRubyã«ããã並è¡ããã°ã©ãã³ã°ã®å¯è½æ§ã«ã¤ãã¦è©±ãã¾ããã èªå·±ç´¹ä» Joseã¯ã2006å¹´ããRubyãæ¸ãå§ããããã§ããããããOSSã«ãæ·±ãé¢ãã£ã¦ããã2010å¹´ããRails coreãã¼ã ã«ã¸ã§ã¤ã³ãã¦ãã¾ããããã¦ãElixirã¨ããè¨èªã®ä½è ã§ãããã¾ããElixirã¯Erla
The Art of Concurrencyå訳æ¸ç±ã¸ã®æ¨è¦æ 訳è ã¾ããã ã¾ããã 1ç« ãéãããã人ãæãæãã¦ï¼ 1.1ããã¾ãã¾ãªçå 1.1.1ãã¹ã¬ããã¢ã³ãã¼ 1.1.2ã並åã¨ä¸¦è¡ï¼ãã®éãã¯ï¼ 1.1.3ããããªãã¨ãç¥ãå¿ è¦ãããã®ï¼ ã©ããªå½¹ã«ç«ã¤ã®ï¼ 1.1.4ã並è¡ããã°ã©ãã³ã°ã£ã¦é£ãããªãã®ï¼ 1.1.5ãã¹ã¬ããã£ã¦å±éºãããªãã®ï¼ 1.2ãã¹ã¬ããåã®4ã¤ã®ã¹ããã 1.2.1ãã¹ããã1. åæï¼ä¸¦è¡æ§ãæã¤é¨åãè¦ã¤ãåºã 1.2.2ãã¹ããã2. è¨è¨ã¨å®è£ ï¼ã¢ã«ã´ãªãºã ãã¹ã¬ããåãã 1.2.3ãã¹ããã3. æ£å½æ§ã®æ¤è¨¼ï¼ã¹ã¬ããåã®èª¤ãã®æ¤åºã¨ä¿®æ£ 1.2.4ãã¹ããã4. æ§è½ãã¥ã¼ãã³ã°ï¼æ§è½ããã«ããã¯ã®æé¤ 1.2.5ãã¹ã¯ã©ããéçº 1.3ã並åã¢ã«ã´ãªãºã ã®èæ¯ 1.3.1ãçè«ã¢ãã« 1.3.2ãåæ£ã¡ã¢ãªããã°ã©ãã³ã° 1.
4. ThreadãããTask for (int i = 0; i < num; i++) { var t = new Thread(_ => b[i] = F(a[i]) ); } for (int i = 0; i < num; i++) { Task.Run(() => b[i] = F(a[i]) ); } Ãæªãä¾ âè¯ã(ã¾ã ãã·â»ãª)ä¾ ãã¼ã¿ã®æ°ã ã ã¹ã¬ããä½æ Threadã§ãªã Taskå©ç¨ â» ãã®å ´åãParallelã¯ã©ã¹ãParallel.Enumerableã¯ã©ã¹ã使ãããã 5. ThreadãããTask for (int i = 0; i < num; i++) { var t = new Thread(_ => b[i] = F(a[i]) ); } for (int i = 0; i < num; i++) { Task.Run(() => b[
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}