| »óǰ ¾È³» ¹× ȯºÒ, ±³È¯, ¹è¼Û¹®ÀÇ | |
| - °¡°Ô ÀüȹøÈ£ : | 1544-1900 |
| - Àüȹ®ÀÇ ½Ã°£ : |
¿ÀÀü 9½ÃºÎÅÍ ¿ÀÈÄ 6½Ã±îÁö (¸ÅÁÖ ¿ù¿äÀÏ, È¿äÀÏ, ¼ö¿äÀÏ, ¸ñ¿äÀÏ, ±Ý¿äÀÏ, °øÈÞÀÏ Á¦¿Ü) |
| - °¡°Ô À̸ÞÀÏ : | ink@kyobobook.co.kr |
| - ÀÌ¿ë Åùèȸ»ç : | CJ´ëÇÑÅë¿î |
|
ÆÇ¸Å°¡°ÔÁ¤º¸ |
|
| - »ç¾÷ÀÚ¸í : | (ÁÖ)±³º¸¹®°í |
| - »ç¾÷ÀÚµî·Ï¹øÈ£ : | 102-81-11670 |
| - Åë½ÅÆÇ¸Å¾÷½Å°í : | 01-0653 |
|
- Çö±Ý¿µ¼öÁõ : ¹ß±Þ°¡´É |
|
|
ÀüÈÁÖ¹® ¹× °áÁ¦¹®ÀÇ |
|
| - ²ÉÇÇ´Â ¾ÆÄ§¸¶À» : | 1644-8422 |
|
°¡°Ô¿Í Á÷°Å·¡¸¦ ÇÏ½Ã¸é ²É¼ÛÀÌ Àû¸³ ¹× °¢Á¾ ÇýÅÿ¡¼ Á¦¿ÜµÇ°í, ¸¸ÀÏÀÇ ¹®Á¦°¡ ¹ß»ýÇÏ´Â °æ¿ì¿¡µµ ²É¸¶ÀÇ µµ¿òÀ» ¹ÞÀ¸½Ç ¼ö ¾ø½À´Ï´Ù. °¡°ÔÀÇ ºÎ´çÇÑ ¿ä±¸, ºÒ°øÁ¤ ÇàÀ§ µî¿¡ ´ëÇØ¼µµ ²É¸¶·Î Á÷Á¢ ÀüÈÁÖ¼¼¿ä. |
|
| »ó¼¼Á¤º¸ | ±¸¸ÅÈıâ (0) | »óǰQ&A (0) | ¹è¼Û/±³È¯/ȯºÒ ¾È³» |
Ã¥¼Ò°³°¡»ó ½º·¹µå¿Í ±¸Á¶Àû µ¿½Ã¼ºÀ» µµÀÔÇÑ ÀÚ¹ÙÀÇ »õ·Î¿î °¡´É¼º°ú ¿ªµ¿ÀûÀÎ ¹Ì·¡!
¿¡ÀÌÀüƽ AI ½Ã´ë, ±Ùº»ÀûÀÌ°í °ß°íÇÑ ÇÁ·Î±×·¡¹Ö °³³ä Áö½ÄÀº Â÷º°ÈµÈ °á°ú¹°À» ¸¸µç´Ù!
°¡»ó ½º·¹µå¿Í ±¸Á¶Àû µ¿½Ã¼ºÀ» µµÀÔÇÑ ÀÚ¹ÙÀÇ »õ·Î¿î °¡´É¼º°ú ¿ªµ¿ÀûÀÎ ¹Ì·¡!
¿¡ÀÌÀüƽ AI ½Ã´ë, ±Ùº»ÀûÀÌ°í °ß°íÇÑ ÇÁ·Î±×·¡¹Ö °³³ä Áö½ÄÀº Â÷º°ÈµÈ °á°ú¹°À» ¸¸µç´Ù!
»ó¼¼À̹ÌÁö![]() ¸ñÂ÷1Àå ÇÑ´«¿¡ »ìÆìº¸´Â ÀÚ¹Ù µ¿½Ã¼º º¯Ãµ»ç
ÀÚ¹Ù ½º·¹µåÀÇ °£·«ÇÑ ¿ª»ç
__ÀÚ¹Ù´Â ½º·¹µå·Î ¸¸µé¾îÁø´Ù
__½º·¹µå: ÀÚ¹Ù Ç÷§ÆûÀÇ ÁßÃß
ÀÚ¹Ù 1.0 ½º·¹µåÀÇ ±â¿ø
__½º·¹µå ½ÃÀÛÇϱâ
½º·¹µå¿¡ ¼û¾î ÀÖ´Â ºñ¿ë
__»ý¼º °¡´ÉÇÑ ½º·¹µå °³¼ö
°íÈ®À强 ¾ÖÇø®ÄÉÀ̼ÇÀÇ ÀÚ¿ø È¿À²¼º
__º´·Ä ½ÇÇà Àü·«
__À̱×Á¦Å¥ÅÍ ÇÁ·¹ÀÓ¿öÅ© ¼Ò°³
__¾ÆÁ÷ ³²Àº °úÁ¦
½º·¹µå Ç®ÀÇ ¹ßÀü
__ij½Ã ¼±È£µµ¿Í ŽºÅ© ºÐ¹è
__Work-Stealing ¾Ë°í¸®Áò
__CompletableFuture¸¦ Ȱ¿ëÇÑ ÀÛ¾÷ È帧 Á¶ÇÕ
¶Ç ´Ù¸¥ ÆÐ·¯´ÙÀÓÀÇ ºñµ¿±â ÇÁ·Î±×·¡¹Ö
__¸®¾×Ƽºê ÇÁ·¹ÀÓ¿öÅ©ÀÇ ´ÜÁ¡
ÀÚ¹Ù µ¿½Ã¼ºÀÇ Çõ¸í
__°¡»ó ½º·¹µåÀÇ ¾à¼Ó
__±âÁ¸ Äڵ庣À̽º¿ÍÀÇ ¸Å²ô·¯¿î ÅëÇÕ
__°¡»ó ½º·¹µå¿Í Ç÷§Æû ½º·¹µå
__Áö´ÉÀûÀÎ ºí·ÎÅ· ¿¬»ê ó¸®
__°¡»ó ½º·¹µåÀÇ ÀåÁ¡
Á¤¸®
2Àå ½° ¾øÀÌ CPU¸¦ Ȱ¿ëÇÏ´Â °¡º±°í ºÎÁö·±ÇÑ °¡»ó ½º·¹µå
°¡»ó ½º·¹µå¶õ
__ÀÚ¹ÙÀÇ µÎ °¡Áö ½º·¹µå À¯Çü
__Ç÷§Æû ½º·¹µå¿ÍÀÇ °áÁ¤ÀûÀÎ Â÷ÀÌ
°¡»ó ½º·¹µå »ç¿ë Áغñ
__°¡»ó ½º·¹µå »ý¼º
°¡»ó ½º·¹µå¿¡ ÀûÀÀÇϱâ
°¡»ó ½º·¹µå »ý¼º ½Ã¿¬
__󸮷®°ú È®À强
__°¡»ó ½º·¹µå È®À强ÀÇ ±Ùº» ¿øÄ¢
__½ÇÁúÀûÀÎ ÀǹÌ
°¡»ó ½º·¹µå ³»ºÎ µ¿ÀÛ ¹æ½Ä
__½ºÅà ÇÁ·¹ÀÓ°ú ¸Þ¸ð¸® °ü¸®
__ij¸®¾î ½º·¹µå¿Í ¿î¿µÃ¼Á¦ÀÇ °³ÀÔ
__ºí·ÎÅ· ¿¬»ê ó¸®
__Åõ¸í¼º°ú ºñ°¡½Ã¼º
__ºñµ¿±â ¿¬»ê ´Ü¼øÈ
__µçµçÇÑ ±¸Á¶Àû µ¿½Ã¼º
¿äû Á¦ÇÑÀ» ÅëÇÑ ÀÚ¿ø Á¦¾à °ü¸®
__ÀÚ¹ÙÀÇ ¼¼¸¶Æ÷¾î ÀÌÇØ
__¼¼¸¶Æ÷¾î¸¦ »ç¿ëÇÏ´Â ÀÌÀ¯
°¡»ó ½º·¹µåÀÇ ÇѰè
__°¡»ó ½º·¹µå °íÁ¤
__ReentrantLockÀ¸·Î °íÁ¤ ¹®Á¦ ÇØ°áÇϱâ
__³×ÀÌÆ¼ºê ¸Þ¼µå È£Ãâ°ú °íÁ¤
°¡»ó ½º·¹µå¿¡¼ ThreadLocal º¯¼öÀÇ ¹®Á¦
__°¡»ó ½º·¹µåÀÇ µµÀü °úÁ¦
¸ð´ÏÅ͸µ
__ThreadLocal ¸ð´ÏÅ͸µ
__°¡»ó ½º·¹µå °íÁ¤ Çö»ó ¸ð´ÏÅ͸µ
__jcmd ½º·¹µå ´ýÇÁ¿¡¼ °¡»ó ½º·¹µå È®ÀÎ
HotSpotDiagnosticMXBeanÀ¸·Î ½º·¹µå ´ýÇÁ »ý¼º
°¡»ó ½º·¹µå ¸¶À̱׷¹ÀÌ¼Ç ¿ä·É
__°¡»ó ½º·¹µåÀÇ ÀåÁ¡ µÇµ¹¾Æº¸±â
__ÇÙ½ÉÀº È®À强ÀÌ´Ù
Á¤¸®
3Àå Á÷Á¢ ¸¸µé¾îº¸°í ÀÌÇØÇÏ´Â Ãֽе¿½Ã¼º ¸ÞÄ¿´ÏÁò
½º·¹µå Ç®
__½º·¹µå Ç®ÀÌ ÇÊ¿äÇÑ ÀÌÀ¯
__´Ü¼øÇÑ ½º·¹µå Ç® ¸¸µé±â
__À̱×Á¦Å¥ÅÍ ÇÁ·¹ÀÓ¿öÅ©
__Callable°ú Future: ŽºÅ© °á°ú ó¸®
ForkJoinPool
__°¡»ó ½º·¹µå¿¡¼ ForkJoinPoolÀ» »ç¿ëÇÏ´Â ÀÌÀ¯
ÄÁƼ´º¿¡À̼Ç
__°¡»ó ½º·¹µå Á÷Á¢ ¸¸µé¾îº¸±â
__°¡»ó ½º·¹µå¿Í I/O Æú¸µ
Á¤¸®
4Àå ºóÆ´¾øÀÌ °ß°íÇÏ°í Æí¸®ÇÑ ±¸Á¶Àû µ¿½Ã¼º
ºñ±¸Á¶Àû µ¿½Ã¼ºÀÇ ¹®Á¦
µçµçÇÑ ±¸Á¶Àû µ¿½Ã¼º
±¸Á¶Àû µ¿½Ã¼º API ÀÌÇØ
__StructuredTaskScope
__½ºÄÚÇÁ¿Í ¼ºêŽºÅ©: °ü°è¿Í »ý¾ÖÁÖ±â
__Joiner¸¦ ÅëÇÑ Á¶ÀÎ Á¤Ã¥
__°øÅëÀûÀÎ Á¶ÀÎ Á¤Ã¥µé
__StructuredTaskScopeÀÇ ¿¹¿Ü ó¸®
__½ºÄÚÇÁ ±¸¼º
__Ä¿½ºÅÒ Á¶À̳Ê
__¸Þ¸ð¸® Àϰü¼º È¿°ú
__Áßø ½ºÄÚÇÁ
__°üÃø¼º
Á¤¸®
5Àå µ¿½Ã¼º ¸ðµ¨ÀÇ È·æÁ¡Á¤, ½ºÄÚÇÁµå ¹ë·ù
ÄÁÅØ½ºÆ® Àü´Þ¿¡ µû¸£´Â ºÎ´ã
__ÆÄ¶ó¹ÌÅÍ ¿À¿°
__ÀÎÅÍÆäÀ̽º Ãë¾à¼º
__°áÇÕµµ¿Í Å×½ºÆ® ¿ëÀ̼º
ThreadLocal ¼Ò°³
__ThreadLocal º¯¼öÀÇ ÇѰè
__°¡º¿î °øÀ¯¸¦ ÇâÇÏ¿©
ScopedValueÀÇ ÇÙ½É ±¸¼º¿ä¼Ò
__ScopedValue ½ÇÇà
__ScopedValue¿Í ±¸Á¶Àû µ¿½Ã¼º
__¼º´É °í·Á»çÇ×
__»ç¿ë¼º ¹× API ¼³°è
__ScopedValue·ÎÀÇ ¸¶À̱׷¹À̼Ç
Á¤¸®
6Àå °¡»ó ½º·¹µå ½Ã´ë¿¡¼ ¸®¾×Ƽºê ÀÚ¹ÙÀÇ ÀǹÌ
¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö ÀÌÇØ
__ºí·ÎÅ· ´ë ³íºí·ÎÅ·
__À̺¥Æ® ±â¹Ý ¾ÆÅ°ÅØÃ³
__ºñµ¿±â API
ÀÚ¹Ù ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö
__¸®¾×Ƽºê ½ºÆ®¸² ÀÌÇØ
__¹è¾Ð
__¸®¾×Ƽºê ÇÁ·Î±×·¡¹ÖÀÇ ÀåÁ¡°ú ´ÜÁ¡
Á¤¸®
7Àå ÇÁ·¹ÀÓ¿öÅ©¸¦ ÅëÇØ ¾Ë¾Æº¸´Â Ãֽе¿½Ã¼º ÇÁ·Î±×·¡¹Ö
½ºÇÁ¸µ ºÎÆ®
__¼öµ¿ ±¸¼º
ÄõÄ¿½º
ÀÚÄ«¸£Å¸ EE
Á¤¸®
8Àå ÀÚ¹Ù µ¿½Ã¼º ÇÁ·Î±×·¡¹ÖÀÇ ¹Ì·¡
ÃâÆÇ»ç ¼Æò| ÀÌ Ã¥¿¡¼ ´Ù·ç´Â ³»¿ë |
- Ç÷§Æû ½º·¹µå¿Í À̱×Á¦Å¥ÅÍ ÇÁ·¹ÀÓ¿öÅ©¿¡¼ºÎÅÍ CompletableFuture¿Í ¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö¿¡ À̸£±â±îÁö ÀÚ¹Ù µ¿½Ã¼ºÀÇ ÁøÈ °úÁ¤
- °¡»ó ½º·¹µå, ±¸Á¶Àû µ¿½Ã¼º, ½ºÄÚÇÁµå ¹ë·ùÀÇ ³»ºÎ µ¿ÀÛ¿¡ ´ëÇÑ ½ÉÃþÀûÀÎ ¼³¸í
- »õ·Î¿î ±â´ÉÀ» È¿°úÀûÀ¸·Î Àû¿ëÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÖ´Â ½ÇÀü Á᫐ ¿¹Á¦
- °¡»ó ½º·¹µå»Ó¸¸ ¾Æ´Ï¶ó ±¸Á¶Àû µ¿½Ã¼º°ú ½ºÄÚÇÁµå ¹ë·ù¸¦ Æ÷ÇÔÇÏ´Â Æø³ÐÀº ¹üÀ§
- ½ºÇÁ¸µ ºÎÆ®, ÄõÄ¿½º, ÀÚÄ«¸£Å¸ EE °°Àº Çö´ë ÇÁ·¹ÀÓ¿öÅ©°¡ °¡»ó ½º·¹µå¸¦ ¾î¶»°Ô ÅëÇÕÇϰí ÀÖ´ÂÁö¿¡ ´ëÇÑ ¾È³»
| ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ |
- °¡»ó ½º·¹µå¿Í ±¸Á¶Àû µ¿½Ã¼ºÀ» Á¦´ë·Î ÀÌÇØÇÏ°í ½ÍÀº °³¹ßÀÚ
- µ¿½Ã¼º Äڵ带 Çö´ëÈÇÏ·Á´Â Áß±Þ ¹× ½Ã´Ï¾î °³¹ßÀÚ
- È®Àå °¡´ÉÇÑ ½Ã½ºÅÛÀ» ¼³°èÇÏ´Â ¾ÆÅ°ÅØÆ®
- °ß°íÇÑ µ¿½Ã¼º ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇϰíÀÚ ÇÏ´Â ¼º´É Á᫐ ¿£Áö´Ï¾î
- »õ·Î¿î ±â¼úÀ» Æò°¡ÇÏ´Â ÆÀ ¸®µå
- ÀÚ¹Ù µ¿½Ã¼ºÀÇ ¹Ì·¡°¡ ±Ã±ÝÇÑ »ç¶÷
| ÀÌ Ã¥ÀÇ ±¸¼º |
1Àå, ¡®ÇÑ´«¿¡ »ìÆìº¸´Â ÀÚ¹Ù µ¿½Ã¼º º¯Ãµ»ç¡¯
ÀÚ¹Ù¿¡¼ÀÇ µ¿½Ã¼º ÁøÈ¸¦ »ìÆìº¸´Â °ÍÀ¸·Î ½ÃÀÛÇÑ´Ù. Ç÷§Æû ½º·¹µå¿¡¼ Ãâ¹ßÇØ À̱×Á¦Å¥ÅÍ ÇÁ·¹ÀÓ¿öÅ©, Æ÷Å©/Á¶ÀÎ, CompletableFuture·Î À̾îÁö´Â È帧À» ÃßÀûÇϰí, ¸®¾×Ƽºê ÇÁ·Î±×·¡¹ÖÀ» °£·«È÷ ¼Ò°³ÇÑ´Ù. ÀÌ·¯ÇÑ ¿ª»çÀû ¸Æ¶ôÀ» ¾Ë¸é °¡»ó ½º·¹µå¸¦ ¿Ö °ÔÀÓ Ã¼ÀÎÀú(game changer)¶ó°í ºÎ¸£´ÂÁö ¾Ë ¼ö ÀÖ°Ô µÈ´Ù. ±×µ¿¾È ¿ì¸®°¡ °¨¼öÇØ ¿Â Æ®·¹À̵å¿ÀÇÁ¸¦ »ìÆìº¸°í, ÇÁ·ÎÁ§Æ® ·ëÀÌ ¿Ö ±Ùº»ÀûÀ¸·Î ´Ù¸¥ Á¢±Ù ¹æ½ÄÀ» ¼±ÅÃÇß´ÂÁö ÀÌÇØÇÏ°Ô µÈ´Ù.
2Àå, ¡®½° ¾øÀÌ CPU¸¦ Ȱ¿ëÇÏ´Â °¡º±°í ºÎÁö·±ÇÑ °¡»ó ½º·¹µå¡¯
°¡»ó ½º·¹µå¸¦ ½Ç½À Áß½ÉÀ¸·Î ¼Ò°³ÇÑ´Ù. °¡»ó ½º·¹µå°¡ ¹«¾ùÀ̸ç, Ç÷§Æû ½º·¹µå¿Í ¾î¶»°Ô ´Ù¸¥Áö, ±×¸®°í ¾î¶»°Ô »ý¼ºÇÏ´ÂÁö¸¦ ¹è¿î´Ù. 󸮷®°ú È®À强 °³¼±À» ´Ù·ç´Â ½Ç¿ëÀûÀÎ ¿¹Á¦¸¦ ´Ù·ç¸ç, ÁÖ¿ä ÁÖÁ¦·Î´Â ¼¼¸¶Æ÷¾î¸¦ Ȱ¿ëÇÑ ¿äû Á¦ÇѰú ½º·¹µå °íÁ¤, ThreadLocal °ü·Ã °í·Á»çÇ×°ú °°Àº Áß¿äÇÑ Á¦¾àÀÌ Æ÷ÇԵȴÙ.
3Àå, ¡®Á÷Á¢ ¸¸µé¾îº¸°í ÀÌÇØÇÏ´Â Ãֽе¿½Ã¼º ¸ÞÄ¿´ÏÁò¡¯
µ¿½Ã¼ºÀÇ ³»ºÎ µ¿ÀÛÀ» ±íÀÌ ÀÖ°Ô ´Ù·é´Ù. ½º·¹µå Ç®, À̱×Á¦Å¥ÅÍ ÇÁ·¹ÀÓ¿öÅ©, ±×¸®°í °¡»ó ½º·¹µå¸¦ ±¸µ¿ÇÏ´Â ForkJoinPoolÀ» ºÐ¼®ÇÑ´Ù. ƯÈ÷ ÄÁƼ´º¿¡À̼Ç(continuation)À» »ç¿ëÇØ °¡»ó ½º·¹µå ±¸ÇöÀ» óÀ½ºÎÅÍ Á÷Á¢ ¸¸µé¾îº¸´Â °ÍÀº 3ÀåÀÇ ÇÏÀ̶óÀÌÆ®¶ó°í ÇÒ ¼ö ÀÖ´Ù. NanoThread¸¦ ¸¸µé¾îº¸¸é¼ °¡»ó ½º·¹µå°¡ ³»ºÎÀûÀ¸·Î ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ±íÀÌ ÀÖ°Ô ÀÌÇØÇÒ ¼ö ÀÖ´Ù.
4Àå, ¡®ºóÆ´¾øÀÌ °ß°íÇÏ°í Æí¸®ÇÑ ±¸Á¶Àû µ¿½Ã¼º¡¯
ÇÁ·ÎÁ§Æ® ·ëÀÇ °¡Àå Áß¿äÇÑ Çõ½Å Áß ÇϳªÀÎ StructuredTaskScope¸¦ ´Ù·é´Ù. ºñ±¸Á¶Àû µ¿½Ã¼º¿¡ Á¸ÀçÇÏ´Â ¹®Á¦¸¦ ¾î¶»°Ô ÇØ°áÇÏ´ÂÁö »ìÆìº¸°í, ´Ù¾çÇÑ Á¶ÀÎ(join) Á¤Ã¥À» ÀÍÈ÷°í, ¿¹¿Ü¸¦ ¿ì¾ÆÇÏ°Ô Ã³¸®Çϸç, °ß°íÇÑ µ¿½Ã¼º ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù. ±âº» »ç¿ë¹ýºÎÅÍ Ä¿½ºÅÒ Á¶À̳Ê(joiner)¿Í Áßø ½ºÄÚÇÁ(nested scope)±îÁö Æø³Ð°Ô ´Ù·é´Ù. ÁýÇÊ ½ÃÁ¡ ±âÁØÀ¸·Î ±¸Á¶Àû µ¿½Ã¼ºÀº ¾ÆÁ÷ ÇÁ¸®ºä »óÅ´Ù. ÀÌ ÇÁ¸®ºä ¹öÀüÀÌ Å©°Ô ¹Ù²îÁö ¾Ê±â¸¦ ¹Ù¶óÁö¸¸, º¯°æ»çÇ×ÀÌ ÀÖ´Ù¸é 2ÆÇ¿¡¼ ´Ù·ê ¿¹Á¤ÀÌ´Ù.
5Àå, ¡®µ¿½Ã¼º ¸ðµ¨ÀÇ È·æÁ¡Á¤, ½ºÄÚÇÁµå ¹ë·ù¡¯
°íµµÀÇ µ¿½Ã¼ºÀ» °¡Áø ¾ÖÇø®ÄÉÀ̼ǿ¡¼ ÄÁÅØ½ºÆ® ÀüÆÄ´Â Ç×»ó ¾î·Á¿î ¹®Á¦¿´´Ù. 5Àå¿¡¼´Â ½ºÄÚÇÁµå ¹ë·ù°¡ °¡»ó ½º·¹µå ȯ°æ¿¡¼ ThreadLocalº¸´Ù ´õ ³ªÀº ´ë¾ÈÀÌ µÇ´Â ÀÌÀ¯¸¦ ¼³¸íÇÑ´Ù. API¸¦ »ìÆìº¸°í, ±¸Á¶Àû µ¿½Ã¼º ¸Æ¶ô¿¡¼ÀÇ ½Ç¿ëÀûÀÎ ¿¹Á¦¸¦ ÅëÇØ ThreadLocal¿¡¼ ¾ðÁ¦ ¾î¶»°Ô ½ºÄÚÇÁµå ¹ë·ù·Î ÀüÈ¯ÇØ¾ß ÇÏ´ÂÁö¸¦ ÀÌÇØÇÏ°Ô µÈ´Ù.
6Àå, ¡®°¡»ó ½º·¹µå ½Ã´ë¿¡¼ ¸®¾×Ƽºê ÀÚ¹ÙÀÇ Àǹ̡¯
°¡»ó ½º·¹µå¿Í ¸®¾×Ƽºê ÇÁ·Î±×·¡¹ÖÀÌ µ¿½Ã¼º ¹®Á¦ ÇØ°á¿¡ Á¢±ÙÇÏ´Â ¹æ½ÄÀÇ Â÷À̸¦ ÀÌÇØÇÏ´Â °ÍÀ» ¸ñÇ¥·Î ÇÑ´Ù. ºí·ÎÅ· I/O¿Í ³íºí·ÎÅ· I/O, À̺¥Æ® ±â¹Ý ¾ÆÅ°ÅØÃ³, ±×¸®°í °¢ Á¢±Ù ¹æ½ÄÀÇ Æ®·¹À̵å¿ÀÇÁ¸¦ ºñ±³ÇÑ´Ù. À̸¦ ÅëÇØ ¾ðÁ¦ °¡»ó ½º·¹µå¸¦ ¼±ÅÃÇÏ°í ¾ðÁ¦ ¸®¾×Ƽºê ÇÁ·¹ÀÓ¿öÅ©¸¦ ¼±ÅÃÇØ¾ß ÇÏ´ÂÁö ÇÕ¸®ÀûÀ¸·Î ÆÇ´ÜÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
7Àå, ¡®ÇÁ·¹ÀÓ¿öÅ©¸¦ ÅëÇØ ¾Ë¾Æº¸´Â Ãֽе¿½Ã¼º ÇÁ·Î±×·¡¹Ö¡¯
ÁÖ¿ä ÇÁ·¹ÀÓ¿öÅ©µéÀÌ °¡»ó ½º·¹µå¸¦ ¾î¶»°Ô ¼ö¿ëÇϰí ÀÖ´ÂÁö »ìÆìº»´Ù. ½ºÇÁ¸µ ºÎÆ®, ÄõÄ¿½º, ÀÚÄ«¸£Å¸ EE¸¦ ´Ù·ç¸ç, ½ÇÁúÀûÀÎ ¼³Á¤ ¿¹Á¦¿Í ¸ð¹ü »ç·Ê¸¦ Á¦°øÇÑ´Ù. 7ÀåÀº °¡»ó ½º·¹µå¸¦ ÇнÀÇÏ´Â ´Ü°è¿Í ½ÇÁ¦ ¿î¿µ ȯ°æ¿¡ Àû¿ëÇÏ´Â ´Ü°è »çÀÌÀÇ °£±ØÀ» ¸Þ¿öÁØ´Ù.
8Àå, ¡®ÀÚ¹Ù µ¿½Ã¼º ÇÁ·Î±×·¡¹ÖÀÇ ¹Ì·¡¡¯
ÀÚ¹Ù µ¿½Ã¼º ÇÁ·Î±×·¡¹ÖÀÇ ¹Ì·¡¸¦ ³»´Ùº¸¸ç ÇÙ½É ÀλçÀÌÆ®¸¦ Á¤¸®ÇÑ´Ù.
[¿Å±äÀÌÀÇ ¸»]
ÀÚ¹Ù´Â ¿À·£ ¼¼¿ù µ¿¾È ÇÏÀ§ ȣȯ¼ºÀ» ÈǸ¢ÇÏ°Ô À¯ÁöÇÏ¸é¼ ÁøÈÇØ ¿Ô½À´Ï´Ù. ´Ù¾çÇÑ ±â´ÉÀÌ Ãß°¡µÆ°í, ¼º´É°ú ÇÁ·Î±×·¥ ÀÛ¼º ÆíÀǼºÀÌ Çâ»óµÇ´Â µî ¿©·¯ º¯È°¡ ÀÖ¾úÁö¸¸ ÀÚ¹Ù¿¡¼ ½ÇÇàµÇ´Â ¸ðµç °ÍÀÌ °á±¹Àº ½º·¹µå¿¡¼ ½ÇÇàµÈ´Ù´Â »ç½ÇÀº º¯ÇÏÁö ¾Ê¾Ò½À´Ï´Ù.
ÇÏÁö¸¸ ÀÚ¹Ù¿¡¼ À̱×Á¦Å¥ÅÍ(Executor) ÇÁ·¹ÀÓ¿öÅ©°¡ ³ª¿Â ÀÌÈÄ·Î ½º·¹µå³ª ½º·¹µå Ç®À» °³¹ßÀÚ°¡ Á÷Á¢ ´Ù·ï¾ß ÇÒ ÀÏÀÌ º°·Î ¾ø¾îÁ³±â ¶§¹®¿¡ ½º·¹µå¸¦ ÀÌÇØÇÏ´Â °ÍÀÌ ¾î¼¸é ´õ ¾î·Á¿ï ¼öµµ ÀÖ½À´Ï´Ù.
ÀÌ Ã¥Àº ÀÚ¹ÙÀÇ Ãֽе¿½Ã¼ºÀ» ´Ù·ç¸é¼µµ, Àڹ٠ù Ãâ½ÃºÎÅÍ ÀÖ¾î¿Ô´ø ½º·¹µåºÎÅÍ Ä£ÀýÇÏ°Ô ¼³¸íÀ» ½ÃÀÛÇÕ´Ï´Ù. ±×·¡¼ ÀúÀÚ´Â ´ë»ó µ¶ÀÚ¸¦ Áß±Þ ÀÌ»óÀÇ °³¹ßÀÚ·Î ±ÇÀåÇϰí ÀÖ±â´Â ÇÏÁö¸¸, Ã¥À» ¿Å±ä Á¦°¡ º¼ ¶§´Â, ƯÈ÷ ½º·¹µå¸¦ Áß½ÉÀ¸·Î ÇÑ µ¿½Ã¼º ±âÃÊ °üÁ¡¿¡¼ º¸¸é ¿ÀÈ÷·Á ÃÊ±Þ °³¹ßÀÚ¿¡°Ôµµ À̸¸ ÇÑ ¾È³»¼°¡ ¾øÀ» °Å¶ó´Â »ý°¢µµ µì´Ï´Ù.
°¡»ó ½º·¹µå´Â ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ÇÀÇ È®À强À» ¿ÏÀüÈ÷ ´Ù¸¥ Â÷¿øÀ¸·Î ²ø¾î¿Ã¸° °áÁ¤ÀûÀÎ ¡®ÇÑ ¹æ¡¯À̶ó°í »ý°¢ÇÕ´Ï´Ù.
´ë´ëÀûÀÎ ¸®ÆÑÅ丵 ¾øÀ̵µ °¡»ó ½º·¹µå¸¦ Àû¿ëÇÒ ¼ö ÀÖ´Ù´Â »ç½ÇÀº ¹«Ã´À̳ª ³î¶ó¿ü½À´Ï´Ù. ±×·¡¼ °¡»ó ½º·¹µåÀÇ ÀÛµ¿ ¿ø¸®¸¦ ´Ù·ç´Â ÈǸ¢ÇÑ ÀÚ·áµµ ÀÌÁ¦´Â »ó´çÈ÷ ¸¹ÀÌ ³ª¿Í ÀÖ½À´Ï´Ù.
±×·³¿¡µµ ºÒ±¸Çϰí ÀÚ¹Ù 21¿¡ óÀ½ °¡»ó ½º·¹µå°¡ µµÀÔµÈ Áö 2³âÀÌ ³Ñ¾î°¡´Â Áö±Ý±îÁöµµ °¡»ó ½º·¹µå¸¦ Àü°ÝÀûÀ¸·Î Àû¿ëÇß´Ù´Â ¾ê±â´Â °¡»ó ½º·¹µå ÀڷḸн±°Ô ãÀ» ¼ö´Â ¾ø´Â °Í °°½À´Ï´Ù. ¿ÀÈ÷·Á °¡»ó ½º·¹µå¸¦ Àû¿ëÇÏ·Á´Ù ´Ù½Ã ¿ø·¡´ë·Î µÇµ¹·È´Ù´Â ¾ê±â°¡ Á¾Á¾ µé¸®°ï ÇÕ´Ï´Ù. °¡Àå Å« ÀÌÀ¯´Â synchronized ºí·Ï ³»ºÎÀÇ Äڵ带 ½ÇÇàÇÒ ¶§¿Í ³×ÀÌÆ¼ºê ¸Þ¼µå¸¦ ½ÇÇàÇÒ ¶§ ¹ß»ýÇÏ´Â ½º·¹µå °íÁ¤ Çö»ó ¶§¹®À̾ú½À´Ï´Ù. ±× ¿Ü¿¡µµ ºñµ¿±â·Î ÀÛ¾÷ È帧À» ±¸¼ºÇÑ °æ¿ì ÀÛ¾÷ È帧 Á¦¾î, ±²ÀåÈ÷ ¸¹Àº ¼öÀÇ °¡»ó ½º·¹µå »ç¿ë ½Ã µå·¯³ª´Â ThreadLocal ºÎÀÛ¿ëµµ °¡»ó ½º·¹µå Àû¿ë¿¡ °É¸²µ¹ÀÌ µÇ¾ú½À´Ï´Ù.
ÇÏÁö¸¸ °¡Àå Å« ÀÌÀ¯¿´´ø synchronized ºí·ÏÀÇ ½º·¹µå °íÁ¤ Çö»óÀº ÀÚ¹Ù 24¿¡¼ ÇØ¼ÒµÇ¾ú½À´Ï´Ù. JDK ¼öÁØ¿¡¼ synchronized ³»ºÎ ±¸ÇöÀ» º¯°æÇÑ °ÍÀÌ¶ó¼ ¼Ò½º Äڵ带 º¯°æÇÒ Çʿ䵵 ¾øÀ¸¸ç ÀÚ¹Ù 24+¸¸ Àû¿ëÇÏ¸é µË´Ï´Ù.
ºñµ¿±â ÀÛ¾÷ È帧 Á¦¾î´Â ÀÚ¹Ù 26¿¡¼ ÇÁ¸®ºäPreview ´Ü°è·Î Àû¿ëµÅ ÀÖ´Â ±¸Á¶Àû µ¿½Ã¼ºÀÌ ÇØ°áÇϰí ÀÖ°í, ThreadLocal ºÎÀÛ¿ëÀº ÀÚ¹Ù 25¿¡¼ Á¤½Ä µµÀÔµÈ ½ºÄÚÇÁµå ¹ë·ù(ScopedValue)¸¦ »ç¿ëÇØ¼ ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·± ºÎºÐÀº ºñ·Ï ¼Ò½º ÄÚµåÀÇ ¼öÁ¤À» ÇÊ¿ä·Î ÇÏÁö¸¸ ´ë´ëÀûÀÎ ¸®ÆÑÅ丵ÀÌ ÇÊ¿äÇÑ Á¤µµ´Â ¾Æ´Ï¶ó´Â Á¡¿¡¼ ÀÌÁ¦´Â ±âÁ¸ ÇÁ·ÎÁ§Æ®¿¡µµ ÃæºÐÈ÷ Àû¿ëÇÒ ¸¸ÇÏ´Ù°í »ý°¢ÇÕ´Ï´Ù.
³²¾Æ ÀÖ´Â ¹®Á¦´Â ³×ÀÌÆ¼ºê ¸Þ¼µå È£ÃâÀε¥ JNI¸¦ »ç¿ëÇß´ø ¸¹Àº ¶óÀ̺귯¸®°¡ ÀÚ¹Ù 22¿¡¼ Á¤½Ä µµÀÔµÈ ¿ÜºÎ ÇÔ¼ö ¹× ¸Þ¸ð¸® API¸¦ »ç¿ëÇØ¼ °¡»ó ½º·¹µå ģȵµ¸¦ ³ôÀ̰ųª, ¾Æ¿¹ ½º·¹µå °íÁ¤ Çö»óÀÌ ¹ß»ýÇÏÁö ¾Êµµ·Ï ÀÚ¹Ù ±¸Çöü¸¦ ´ë½Å »ç¿ëÇÏ´Â ÂÊÀ¸·Î ¿òÁ÷À̰í ÀÖ½À´Ï´Ù.
ÀÌ Ã¥Àº ÀÌó·³ °¡»ó ½º·¹µåÀÇ º»ÁúÀûÀÎ ¸ÞÄ¿´ÏÁò°ú ÀåÁ¡»Ó¸¸ ¾Æ´Ï¶ó ¾Õ¼ ¾ð±ÞÇÑ ½Ç¹«ÀûÀÎ °É¸²µ¹ÀÇ Áø´Ü°ú ÇØ¼Ò ¹æ¹ý±îÁö, ¾î¼¸é Áö³ªÄ¡´Ù ½ÍÀ» Á¤µµ·Î dzºÎÇÑ ¿¹Á¦ ÄÚµå¿Í ÇÔ²² ¼³¸íÇϰí ÀÖ½À´Ï´Ù. ±×·¡¼ ÁÖ¾îÁø Äڵ带 À̸®Àú¸® ¹Ù²ã°¡¸é¼ ½ÇÇàÇØ º¸°í ±Ã±ÝÁõÀ» ÇØ¼ÒÇÏ´Ù º¸¸é ÈξÀ ´õ Àç¹ÌÀÖ°Ô Á¤¸» ¸¹Àº Áö½Ä°ú °æÇèÀ» ¾òÀ» ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
ÃÖ±Ù¿¡´Â AI ¿¡ÀÌÀüÆ®¸¦ »ç¿ëÇÑ °³¹ßÀÌ È°¹ßÇØÁö¸é¼ ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ ¾Æ´Ñ ÀÏ»ó ¾ð¾î·Î AI¿Í ´ëÈÇÏ¸é¼ Á¦Ç°À» ¸¸µé ¼ö ÀÖ´Â ¼¼»óÀÌ ¿¸®°í ÀÖ½À´Ï´Ù. ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ ¸ô¶óµµ Á¦Ç°À» ¸¸µå´Â ÄÚµå´Â »ý¼ºÇÒ ¼ö ÀÖ°ÚÁö¸¸, ÇÁ·Î±×·¡¹Ö °³³ä ¾øÀÌ °ß°íÇÏ°í ¾ÈÁ¤¼º ÀÖ´Â ÃÖÁ¾ °á°ú¹°À» ¸¸µé ¼ö´Â ¾ø´Ù´Â »ç½ÇÀ» ¿ì¸® °³¹ßÀÚµéÀº ³Ê¹«³ªµµ Àß ¾Ë°í ÀÖ½À´Ï´Ù. Äڵ带 ÀÛ¼ºÇÏ´Â ÀÛ°¡¿¡¼ ÃÖÁ¾ Á¦Ç°À» ¸¸µå´Â °¨µ¶À¸·Î, ¿ªÇÒÀÌ ¹Ù²î´Â Áö±ÝÀ̾߸»·Î ÀÌ Ã¥¿¡¼ ´Ù·ç´Â Ãֽе¿½Ã¼º ¸ðµ¨¿¡ ´ëÇÑ Áö½ÄÀº Àüº¸´Ù ÈξÀ ´õ Å« Â÷º°Á¡ÀÌ µÉ °Å¶ó°í ¹Ï½À´Ï´Ù.
Á¦°¡ ÀÌ Ã¥À» ¹ø¿ªÇÏ¸é¼ ¹è¿î °Íó·³ ´õ ¸¹Àº °³¹ßÀÚ°¡ °¡»ó ½º·¹µå¿Í ±¸Á¶Àû µ¿½Ã¼º, ½ºÄÚÇÁµå ¹ë·ù¶ó´Â Ãֽе¿½Ã¼º ¸ðµ¨À» ´õ ±íÀÌ ÀÌÇØÇϰí, ´õ ¸¹Àº ÇÁ·ÎÁ§Æ®¿¡¼ÀÇ °¡»ó ½º·¹µå µµÀÔÀ¸·Î À̾îÁ®¼, È®À强 Çâ»ó°ú ºñ¿ë Àý°¨, »ç¿ëÀÚ °æÇè Çâ»óÀ» °®Ãá ÃÖÁ¾ Á¦Ç°ÀÌ ´õ ¸¹ÀÌ ¸¸µé¾îÁø´Ù¸é ¹ø¿ªÀڷμ ³Ê¹«³ªµµ »ÑµíÇÒ °Í °°½À´Ï´Ù.
¹ø¿ªÀÚ´Â ÀÏÂ÷ÀûÀ¸·Î´Â ¿ø¼¸¦ ¿ì¸®±Û·Î ¿Å±â´Â ÀÏÀ» ÇÏ´Â »ç¶÷ÀÌÁö¸¸, ÈǸ¢ÇÑ ¹ø¿ªÀÚ´Â ¸ÕÀú µ¶ÀÚÀÇ ÀÔÀå¿¡¼ ¿ø¼¸¦ ÀÐ°í ºÒÆíÇß´ø Á¡À» ã¾Æ °³¼±Çϰí ÃÖÁ¾ µ¶ÀÚ¿¡°Ô´Â ´õ ³ªÀº °á°ú¹°À» º¸¿©ÁÖ´Â »ç¶÷À̶ó°í »ý°¢ÇÕ´Ï´Ù. À̹ø Ã¥µµ ´Ù¼Ò ¸ðÀÚ¶÷ÀÌ ÀÖ°ÚÁö¸¸ ÈǸ¢ÇÑ ¹ø¿ªÀÚ¿¡ Á¶±ÝÀÌ¶óµµ ´Ù°¡°¡±â À§ÇØ ¿ø¼º¸´Ù ³ªÀº ¿ª¼¸¦ ¸ñÇ¥·Î ¹ø¿ª ÀÛ¾÷À» Çß½À´Ï´Ù. ¸ðÂÉ·Ï µ¶ÀںеéÀÌ ¾ÖÃʺÎÅÍ Çѱ۷Π¾²ÀΠåÀÎ °Íó·³ ¾Æ¹«·± ºÒÆí°¨ ¾øÀÌ Àо½Ã±â¸¦ ¿å½É³»¾î ¹Ù¶óº¾´Ï´Ù. |
| ±³È¯ ¹× ȯºÒ °¡´É |
»óǰ¿¡ ¹®Á¦°¡ ÀÖÀ» °æ¿ì |
1) »óǰÀÌ Ç¥½Ã/±¤°íµÈ ³»¿ë°ú ´Ù¸£°Å³ª ºÒ·®(ºÎÆÐ, º¯Áú, ÆÄ¼Õ, Ç¥±â¿À·ù, À̹°È¥ÀÔ, Áß·®¹Ì´Þ)ÀÌ ¹ß»ýÇÑ °æ¿ì - ½Å¼±½Äǰ, ³ÃÀå½Äǰ, ³Ãµ¿½Äǰ : ¼ö·ÉÀÏ ´ÙÀ½³¯±îÁö ½Åû - ±âŸ »óǰ : ¼ö·ÉÀϷκÎÅÍ 30ÀÏ À̳», ±× »ç½ÇÀ» ¾È ³¯ ¶Ç´Â ¾Ë ¼ö ÀÖ¾ú´ø ³¯·ÎºÎÅÍ 30ÀÏ À̳» ½Åû 2) ±³È¯ ¹× ȯºÒ½Åû ½Ã ÆÇ¸ÅÀÚ´Â »óǰÀÇ »óŸ¦ È®ÀÎÇÒ ¼ö ÀÖ´Â »çÁøÀ» ¿äûÇÒ ¼ö ÀÖÀ¸¸ç »óǰÀÇ ¹®Á¦ Á¤µµ¿¡ µû¶ó Àç¹è¼Û, ÀϺÎȯºÒ, ÀüüȯºÒÀÌ ÁøÇàµË´Ï´Ù. ¹Ýǰ¿¡ µû¸¥ ºñ¿ëÀº ÆÇ¸ÅÀÚ ºÎ´ãÀ̸ç ȯºÒÀº ¹ÝǰµµÂøÀϷκÎÅÍ ¿µ¾÷ÀÏ ±âÁØ 3ÀÏ À̳»¿¡ ¿Ï·áµË´Ï´Ù. |
|
´Ü¼øº¯½É ¹× ÁÖ¹®Âø¿ÀÀÇ °æ¿ì |
1) ½Å¼±½Äǰ, ³ÃÀå½Äǰ, ³Ãµ¿½Äǰ ÀçÆÇ¸Å°¡ ¾î·Á¿î »óǰÀÇ Æ¯¼º»ó, ±³È¯ ¹× ȯºÒÀÌ ¾î·Æ½À´Ï´Ù. 2) ÈÀåǰ ÇǺΠƮ·¯ºí ¹ß»ý ½Ã Àü¹®ÀÇ Áø´Ü¼ ¹× ¼Ò°ß¼¸¦ Á¦ÃâÇϽøé ȯºÒ °¡´ÉÇÕ´Ï´Ù. ÀÌ °æ¿ì Á¦¹Ýºñ¿ëÀº ¼ÒºñÀÚ ºÎ´ãÀ̸ç, ¹è¼Ûºñ´Â ÆÇ¸ÅÀÚ°¡ ºÎ´ãÇÕ´Ï´Ù. ÇØ´ç ÈÀåǰ°ú ÇǺΠƮ·¯ºí°úÀÇ »ó´çÇÑ Àΰú°ü°è°¡ ÀÎÁ¤µÇ´Â °æ¿ì ¶Ç´Â Áúȯġ·á ¸ñÀûÀÇ °æ¿ì¿¡´Â Áø´Ü¼ ¹ß±Þºñ¿ëÀ» ÆÇ¸ÅÀÚ°¡ ºÎ´ãÇÕ´Ï´Ù. 3) ±âŸ »óǰ ¼ö·ÉÀϷκÎÅÍ 7ÀÏ À̳» ½Åû, ¿Õº¹¹è¼Ûºñ´Â ¼ÒºñÀÚ ºÎ´ã 4) ¸ð´ÏÅÍ ÇØ»óµµÀÇ Â÷ÀÌ·Î »ö»óÀ̳ª À̹ÌÁö°¡ ´Ù¸¥ °æ¿ì ´Ü¼øº¯½É¿¡ ÀÇÇÑ ±³È¯ ¹× ȯºÒÀÌ Á¦ÇÑµÉ ¼ö ÀÖ½À´Ï´Ù. |
|
| ±³È¯ ¹× ȯºÒ ºÒ°¡ |
1) ½Åû±âÇÑÀÌ Áö³ °æ¿ì 2) ¼ÒºñÀÚÀÇ °ú½Ç·Î ÀÎÇØ »óǰ ¹× ±¸¼ºÇ°ÀÇ Àüü ¶Ç´Â ÀϺΰ¡ ¾ø¾îÁö°Å³ª ÈѼÕ, ¿À¿°µÇ¾úÀ» °æ¿ì 3) °³ºÀÇÏ¿© ÀÌ¹Ì ¼·ÃëÇÏ¿´°Å³ª »ç¿ë(Âø¿ë ¹× ¼³Ä¡ Æ÷ÇÔ)ÇØ »óǰ ¹× ±¸¼ºÇ°ÀÇ °¡Ä¡°¡ ¼Õ»óµÈ °æ¿ì 4) ½Ã°£ÀÌ °æ°úÇÏ¿© »óǰÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì 5) »ó¼¼Á¤º¸ ¶Ç´Â »ç¿ë¼³¸í¼¿¡ ¾È³»µÈ ÁÖÀÇ»çÇ× ¹× º¸°ü¹æ¹ýÀ» ÁöŰÁö ¾ÊÀº °æ¿ì 6) »çÀü¿¹¾à ¶Ç´Â ÁÖ¹®Á¦ÀÛÀ¸·Î ÅëÇØ ¼ÒºñÀÚÀÇ ÁÖ¹®¿¡ µû¶ó °³º°ÀûÀ¸·Î »ý»êµÇ´Â »óǰÀÌ ÀÌ¹Ì Á¦ÀÛÁøÇàµÈ °æ¿ì 7) º¹Á¦°¡ °¡´ÉÇÑ »óǰ µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì 8) ¸À, Çâ, »ö µî ´Ü¼ø ±âÈ£Â÷ÀÌ¿¡ ÀÇÇÑ °æ¿ì |
|