با سلام به همه دوستان.
بنده تا حالا با thread ها کار نکردم . و تا حالا چنتا برنامه حسابداری فقط نوشتم .
در مورد سوالم در لینک زیر
https://barnamenevis.org/showth...875#post796875
به نظرم با صحبت دوستام بهترین گزینه thread هست.
با جستجو در سایت کلی مطلب پیدا کردم که آقای کشاورز و دوستان توضیح داده بودند.اما واقعا هیچی متوجه نشدم چون تخصصی بود.
حالا از دوستانی که اطلاعات دارند زحمت بکشند و از معرفی thread و این چه ابزار یا کلاس یا چه شیئ هست شروع و به چه کاری میاد و یواش یواش یه نمونه ساده استفاده از thread رو اینجا بزارند که خط به خط تحلیلش کنیم تا این مطلب رو همگی یاد بگیریم.
تا بتونیم از thread ها کامل و بهینه استفاده کنیم.
اول هم من شروع می کنم اطلاعاتی رو کسب کردم. کامل متوجه نشدم چی میگه اما میزارم اینجا دوستا بیشتر بازش کنند.
مقدمه :
Thread ها ابزاری مفید هستند که به کاربر اجازه می دهند تا اعمالی را به صورت موازی (Parallel) و همزمان انجام دهد. با استفاده از Thread ها، از امکانات MultiTasking در یک برنامه استفاده می کنید. در ضمن می توانید یک قسمت از برنامه را متوقف و یا به جریان بیندازید. در استفاده از Threadها بسیار مراقب باشید چون منابع شما محدود هستند.
Threadها هنگامی که باید منتظر پاسخ بخشی دیگر از برنامه باشید، بسیار به کار می آیند و شما می توانید در حالی که بخشی از برنامه متوقف است و منتظر پاسخ است بقیه قسمت ها را پیش ببرید که سرعت برنامه های شما را به طرز قابل ملاحظه ای افزایش می دهد..thread یا در اصطلاح "نخ" پراسس ها کوچکی هستند که هر کدام تنها یک هدف رو انجام می دن و در نهایت پس از پایان یافتن اجرای مجموعه thread ها یک برنامه یا یک پراسس اصلی پایان پیدا می کنه. از thread برای انجام کارهای موازی همزمان استفاده میشه. اکثر برنامه هایی که ما می نویسیم فقط یک thread دارند که همون پراسس اصلی ماست و با پایان یافتن اون، برنامه هم به پایان میرسه.Thread چيست؟
هر Thread از یکسری فرمان های پشت سر هم ساخته می شود. این فرمان ها شامل شمارنده (Counter)، فراخوانی و بازگشت پشته (Call/Return Stack) و داده های خود Thread می شود.
هر Task از یک یا چند Thread تشکیل می گردد.در لینک زیر هم آقای کشاورز توضیح دادندببينيد ، وقتي شما يک برنامه يا ... رو اجرا مي کنيد ، ويندوز يک رشته يا همون Thread رو بهش اختصاص مي ده ، يعني هر برنامه اجرا شده يک Thread داره ...
نکته جالب اينه که در ويندوز هرگز دو Thread باهم و همزمان اجرا نمي شن !! ...
وقتي برنامه شما اقدام به انجام کاري ( يا کدي که شما نوشتيد ) مي کنه ، اون کار رو توي همون Thread اي که خود برنامه اصلي شما داره ، اجرا مي کنه ، خوب اين مسلما روي بقيه اعضاء برنامه هم تاثير مي زاره و اگر کدي که برنامه شما داره اجراش مي کنه ، حافظه ي زيادي لازم داشته باشه ، روي Interface برنامه اصلي تاثير مي زاره و برخي مواقع باعث کند شدن برنامه يا هنگ کردن برنامه براي مدت کوتاه يا زياد ميشه ...
نمونه اين کندي رو مي شه در مواقع دريافت اطلاعات در برنامه هاي تحت شبکه ديد ، که اگه به خوبي از Thread ها استفاده بشه ، اين مشکل حل ميشه ...
http://www.barnamenevis.org/sh...ad.php?t=26406