دوباره سلام.
حتما تا حالا برنامه هايي رو ديديد كه همزمان چند كار باهم انجام ميدن.
مثل MSWord كه هنگامي كه شما در حال تايپ كردن هستيد همزمان غلط هاي املايي شما چك ميشه.
و يا بزرگترين مثالش كه خود Windows هست .شما ميتونيد همزمان هم رايت كنيد و هم موسيقي گوش كنيد وغيره.به اين اجراي همزمان multi-treading گفته ميشه. اصطلاحا بهش ريسمان هم گفته ميشه.
خيلي ساده تر در مورد برنامه ي شماست. شما دو حلقه( Loop ) داريد كه همزمان با هم كار ميكنند.
در حالت عادي بايد اولين حلقه اجرا بشه و بعد حلقه ي بعد.ولي وقتي شما از اين حلقه ها در دو Thread
جداگانه استفاده ميكنيد OS كنترل حلقه ها رو بدست ميگيره و اجازه ميده كه دو حلقه همزمان با هم كار كنند.
بدون اينكه مشكلي پيش بياد.ولي اگه منبعي بين اين دو Thread مشترك باشند زمان بندي دسترسي به
اين منبع (كه در برنامه ي شما يك Buffer هست ) رو بايدخودتون كنترل كنيد.اين كار با استفاده از Mutex انجام ميشه.
كه در زمان مورد نظر ميتونه منبع رو Lock يا UnLock كنه. اينها از مباحث پيشرفته ي برنامه نويسي هستند.
متاسفانه من با VB آشنا نيستم و با ++C و VC و #C كار ميكنم.
خود Thread Function به اين صورت تعريف ميشه البته در ++C كه يه تابع static هست كه يك آرگومان از
نوع LPVOID داره.
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
براي راه اندازي و متوقف كردن در VC از AfxBeginThread استفاده ميشه.ولي شما ميتونيد از اين
API ها استفاده كنيد:
CreateThread
ResumeThread
SuspendThread
ExitThread
ولي بدنه ي اصلي تابع Thread كه به اون ThreadProc هم گفته ميشه به شكل بالا تعريف ميشه.
سعي كردم خلاصه و مفيد توضيح بدم.
ميتونيد در باره يWorker Thread مطالب زيادي پيدا كنيد.
اگه مشكلي پيش اومد اطلاع بديد.
ممنون.