چگونه مي توان با++C برنامه اي نوشت كه چند كار رابه طور همزمان انجام دهد؟
|مثلآ در يك بازي كارگرهايي هستند كه با كليك كردن روي آنهاكارشان شروع ميشود
وتا كلبك بعدي كار را ادامه مي دهند ودر ضمن كارهاي ديگري هم توسط ديگران در
حال انجام است .(مثل بازي warcraft )
این موضوع مربوط به مبحث Thread ها میشه (تو Linux بهش میگن POSIX) .
البته برای این طور برنامه نویسی سیستم عامل هم باید از MultiThreading پشتیبانی کنه وگرنه موضوع خیلی پیچیده میشه.
برای اینکه یک برنامه Multithread تو ++VC درست کنی (فرضم بر اینه که با برنامه نویسی Dialog Based یا همون Form ها آشنا هستی)
بعد از اینکه یک برنامه جدید ساختی، یک تابع Global با header زیر باید بنویسی:
UINT controler_function ( LPVOID param); //thread main function
در بدنه تابع باید کاری که می خواهی موازی با کار اصلی Form انجام بدی بنویسی .
تو OnCreate Form بایدThread ایجاد بشه :
AfxBeginThread(controler_function1,¶meter_of_controler_function); //begin thread
ایده اصلی اینه ولی من اینجا خیلی خیلی خیلی خلاصه نوشتم.برای راهنمایی بیشتر میتونی از MSDN استفاده کنی.