PDA

View Full Version : Thread



dr_csharp
چهارشنبه 21 آذر 1386, 19:03 عصر
سلام دوستان . من اصلا نمیدونم Thread چی هست و کجاها استفاده میشه .. ولی بیشتر در مباحث Client - Server شنیدم . ممنون میشم راهنماییم کنید :لبخندساده:

hdv212
چهارشنبه 21 آذر 1386, 21:34 عصر
اگه شنیده باشی که XP یه سیستم عامل MultiThread است، یعنی اینکه میتونه چندین عمل رو همزمان انجام بده، Thread در معنای لغوی یعنی ریسمان، و در علوم نرم افزاری هم به معنی یه ریسمان کاری در نظر گرفته میشه، پس هر Thread یه کاری انجام میده، برنامه های Multi Thread میتونن چندین عمل رو با هم انجام بدن، مثل خواندن اطلاعات، پاسخ به درخواست کاربران، بروز رسانی UserInterface و ... .

ولی بیشتر در مباحث Client - Server شنیدم .
در برنامه نویسی دات نت (یا هر زبان دیگه ای) برای ارتباط کامپیوترها با هم از طریق شبکه، دو راه وجود داره :
1. ارتباط همزمان یا Synchronous
2. ارتباط غیر همزمان یا Asynchronous

در نوع اول، وقتی یه کلاینت به کلاینت دیگه پیغامی میفرسته (حالا این پیغام میتونه داده هم باشه)، تا زمانی که این پیغام به مقصد برسه برنامه هیچ عکس العمل دیگه ای انجام نمیده، چون به صورت یک Thread ای کار میکنه، این روش، ساده ترین روش در ارتباط هست که میتونه برای ارتباط های کوچیک مناسب باشه.

اما نوع دوم :
گاهی اوقات پیغامهایی که قراره توی شبکه منتشر بشه، ممکنه یه سری داده ی حجیم باشه، که اگه روش بالا اونو توی شبکه، به مقصد بفرستیم، تا زمانی که داده ی مورد نظر کاملا به مقصد نرسه، برنامه ی ما در حالت Hang میمونه، در اینجا از روش دوم یعنی Asynchronous استفاده میشه تا ارسال داده ها رو از طریق یه رشته ی دیگه (و نه از طریق Thread اصلی برنامه) انجام بده تا در زمان ارسال داده در شبکه، برنامه هنگ نکنه و بتونه کارای دیگه رو انجام بده.

_hosseini_
پنج شنبه 22 آذر 1386, 00:25 صبح
می تونی اینجا را ببینی :
1 - http://www.codersource.net/published/view/313/chapter_introduction_to_multithreading.aspx
2 - http://www.codersource.net/published/view/314/chapter_threading_classes.aspx
3 - http://www.codersource.net/published/view/318/chapter_thread_synchronization.aspx
4 - http://www.codersource.net/published/view/320/chapter_multithreading_with_windows_forms.aspx

scorpion_man
پنج شنبه 22 آذر 1386, 00:36 صبح
به زبان ساده به انجام عملیت موازی رو کامپوتر multithreading میگن که بار انجام عملیات منطقی رو رو cpu کامپوتر تقسیم میکنه