DirectPlay DirectPlay C/C++ ·¹ÆÛ·±½º ÀÎÅÍÆäÀ̽º IDirectPlay8ThreadPool SetThreadCount [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
ÁöÁ¤ÇÑ ÇÁ·Î¼¼¼ ¶Ç´Â ¸ðµç ÇÁ·Î¼¼¼ÀÇ thread¼ö¸¦ º¯°æÇÑ´Ù.
±¸¹®
HRESULT SetThreadCount(
const DWORD dwProcessorNum, const DWORD dwNumThreads, const DWORD dwFlags );
ÆÄ¶ó¹ÌÅÍ
- dwProcessorNum
- [in] ÇÁ·Î¼¼¼¼ö¸¦ ÁöÁ¤ÇÑ´Ù. ¸ðµç ÇÁ·Î¼¼¼ÀÇ thread¼ö¸¦ º¯°æÇÏ·Á¸é,-1 ¸¦ ¼³Á¤ÇÑ´Ù.
- dwNumThreads
- [in] »õ·Î¿î thread¼ö¸¦ ÁöÁ¤ÇÑ´Ù.
- dwFlags
- [in] ¿¹¾àÀÌ ³¡³ »óÅÂ. 0 ÀÌ ¾Æ´Ï¸é ¾ÈµÈ´Ù.
¹Ýȯ°ª
¼º°øÇßÀ» °æ¿ì´Â DPN_OK ¸¦ µ¹·ÁÁØ´Ù. ±× ÀÌ¿ÜÀÇ °æ¿ì, ´ÙÀ½ÀÇ ¸î°³ÀÇ ¿¡·¯¸¦ µ¹·ÁÁØ´Ù.
DPNERR_UNINITIALIZED ¿ä±¸µÈ °³Ã¼°¡ ÃʱâȵÇÁö ¾Ê´Ù. DPNERR_INVALIDFLAGS ÀÌ ¸Þ¼µå¿¡ °Ç³×Áø Ç÷¡±×´Â ¹«È¿ÀÌ´Ù. DPNERR_INVALIDPARAM ¸Þ¼µå¿¡ °Ç³×Áø 1 °³ ȤÀº º¹¼öÀÇ ÆÄ¶ó¹ÌÅͰ¡ ¹«È¿ÀÌ´Ù. DPNERR_NOTALLOWED ÀÌ ±â´ÉÀº, ÀÌ °³Ã¼¿¡¼´Â Çã°¡µÇÁö ¾Ê´Ù.
ÁÖÀÇ
dwNumThreads ÆÄ¶ó¹ÌÅÍÀÇ °ªÀÌ ÇöÀçÀÇ thread¼öº¸´Ù Å« °æ¿ì, »õ·Î¿î thread°¡ ½ÃÀÛ µÇ¾î »õ·Î¿î thread ¸¶´Ù DPN_MSGID_CREATE_THREAD ¸Þ½ÃÁö¸¦ »ý¼ºÇÑ ÈÄ, ÀÌ ¸Þ¼µå°¡ µ¹¾Æ¿Â´Ù.
dwNumThreads ÆÄ¶ó¹ÌÅÍÀÇ °ªÀÌ ÇöÀçÀÇ thread¼öº¸´Ù ÀÛÀº °æ¿ì, ¿©ºÐÀÇ thread´Â ¼Ë´Ù¿î µÇ¾î ´ÝÇôÁö´Â thread ¸¶´Ù DPN_MSGID_DESTROY_THREAD ¸Þ½ÃÁö¸¦ »ý¼ºÇÑ ÈÄ, ÀÌ ¸Þ¼µå°¡ µ¹¾Æ¿Â´Ù.
thread¼ö°¡ 0 À¸·Î ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì, Microsoft® DirectPlay® ´Â ¾ÖÇø®ÄÉÀ̼ǿ¡ thread¸¦ »ý¼º ÇÏÁö ¾Ê´Â´Ù. µû¶ó¼, ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î ¹«¾ùÀΰ¡ ó¸®¸¦ ½Ç½ÃÇÏ·Á¸é , Á¤±âÀûÀ¸·Î IDirectPlay8ThreadPool::DoWork ¸¦ È£ÃâÇÒ Çʿ䰡 ÀÖ´Ù.
thread¼ö°¡ 0 À¸·Î ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì, DirectPlay ÀÇ Å½ºÅ©ÀÇ µ¿ÀÛÀº DirectPlay thread¸¦ »ç¿ëÇϰí ÀÖ´Â °æ¿ì¿Í´Â ´Ù¸£´Ù. µû¶ó¼, ¼¼¼ÇÀ» »ý¼º ÇÑ ÈÄ´Â, Á¦·Î thread¼ö¸ðµå¿Í multi-thread¼ö¸ðµå¸¦ ¹Ù²ÙÁö ¾Ê´Â °ÍÀ» ÃßõÇÑ´Ù.
IDirectPlay8ThreadPool::DoWork ÀÇ ¹Ìó¸®ÀÇ È£ÃâÀÌ ÀÖÀ» ¶§ ÀÌ ¸Þ¼µå°¡ ºÒ·Á °¬À» °æ¿ì, ÀÌ ¸Þ¼µå´Â DPNERR_NOTALLOWED ¸¦ µ¹·ÁÁØ´Ù. ÀÌ °æ¿ì, thread¼ö´Â º¯ÈÇÏÁö ¾Ê´Â´Ù.
dwNumThreads ÆÄ¶ó¹ÌÅͰ¡ ÇöÀçÀÇ thread¼öº¸´Ù ÀÛ°í, ÀÌ ¸Þ¼µå°¡ IDirectPlay8ThreadPool thread·ÎºÎÅÍ ºÒ·Á °¡´Â °æ¿ì, ÀÌ ¸Þ¼µå´Â DPNERR_NOTALLOWED ¸¦ µ¹·ÁÁØ´Ù. ÀÌ °æ¿ì, thread¼ö´Â º¯ÈÇÏÁö ¾Ê´Â´Ù.