Contents:
- 1 °³¿ä
- 2 °ü·Ã¼Àû
- 3 Áֿ丵ũ
- 4 POSIX ¾²·¹µå
- 4.1 ÄÄÆÄÀÏÇϱâ
- 5 Mutex »ç¿ëÇϱâ
- 6 ´Ù¿î·Îµå
- 7 °ü·Ã¸µÅ©
ÀϹÝÀûÀ¸·Î À¯´Ð½º¿Í ¸®´ª½º ÇÁ·Î±×·¡¹Ö¿¡¼ Concurrent Programming Àº fork() ¸¦ ÀÌ¿ëÇÑ Multiprocess Programming ¹æ½ÄÀ¸·Î ÇØ°áÇϰí ÀÖ´Ù. ±×·¯³ª Multiprocess Programming ¹æ½ÄÀº ½Ã½ºÅÛ¿¡ ¿À¹öÇìµå¸¦ Áְųª ÀÚ¿ø °øÀ¯ÀÇ ¹®Á¦°¡ ¹ß»ýÇÏ°Ô µÈ´Ù. ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇÏ¿© Multithread Programming ¹æ½ÄÀ» ÀÌ¿ëÇÏ°Ô µÈ´Ù.
- UNIX Network Programming Volume 1 : Networking APIS: Socket and XTI (2nd Edition)
- W. Richard Stevens Àú, Prentice Hall
- ¿Ç÷°ÀÇ TCP/IP ¼ÒÄÏ ÇÁ·Î±×·¡¹Ö
3 Áֿ丵ũ #
Concurrent Programming ÀÇ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇÑ Multithread Programming ¹æ½ÄÀ¸·Î POSIX Thread ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ À¥¹®¼¸¦ ¼Ò°³ ÇÑ´Ù.
testthread.c °¡ ¾²·¹µå ÇÁ·Î±×·¥ ¼Ò½ºÀÏ °æ¿ì ÄÄÆÄÀÏÇÒ ¶§ ´ÙÀ½°ú °°Àº ¿É¼ÇÀÌ ÇÊ¿äÇÏ´Ù.
$ gcc -D_REENTRANT testthread.c -o testthread -lpthread
¿É¼Ç¿¡ ´ëÇÑ ¼³¸íÀº ´ÙÀ½°ú °°´Ù.
- -D_REENTRANT
- -D ´Â ¸ÅÅ©·Î¸¦ Á¤ÀÇÇÏ´Â °ÍÀ¸·Î _REENTRANT ¸¦ Á¤ÀÇÇÏ°Ô µÇ¸é ¾²·¹µå¿¡ ´ëÇÏ¿© ¾ÈÀüÇÑ ÇÔ¼ö¸¦ ¸µÅ©Çϵµ·Ï ¸¸µç´Ù.
- -lpthread
- -l ´Â ¸µÅ©µÉ ¶óÀ̺귯¸®¸¦ ÁöÁ¤ÇÏ´Â °ÍÀ¸·Î pthread ¶ó´Â ¶óÀ̺귯¸®¸¦ ¸µÅ©Çϵµ·Ï ÁöÁ¤ÇÑ´Ù.
5 Mutex »ç¿ëÇϱâ #
POSIX Thread ÇÁ·Î±×·¡¹ÖÀº ÀÚ¿øÀ» °øÀ¯Çϱ⠶§¹®¿¡ ÀÚ¿ø¿¡ ´ëÇÑ µ¿±âÈ ¹®Á¦°¡ ¹ß»ýÇÏ°Ô µÈ´Ù. ÀÌ·¯ÇÑ µ¿±âÈ ¹®Á¦¿¡ ´ëÇÏ¿© Thread ´Â Mutex ¶ó´Â ¾ÈÀüÀåÄ¡¸¦ ÀÌ¿ëÇϰí ÀÖÀ¸¹Ç·Î ÀÌ¿¡ ´ëÇÑ À¥¹®¼ ¶ÇÇÑ ¼Ò°³ÇÑ´Ù.