
نوشته شده توسط
farhad_shiri_ex
خیلی ساده بخوام توضیح بدم !
هر برنامه ای که شما در سیستم عامل اجرا میکنید درون یک پردازه قرار میگیره که داخل همین پردازه یک نخ اصلی وجود داره که وظیفه کنترل برنامه و المانهای گرافیکی و خیلی چیزهای دیگه را داره!
و دقیقا تابع main برنامه محل نخ اصلی برنامه هم هست.
نه ربطی نداره! بحث تامین منابع سخت افزاری نخ ها به عهده سیستم عامل و پردازشگر هست بنابراین استفاده از نخ ها نمیتونه بر روی تامین منابع سخت افزاری نخ های دیگر برنامه ویا نخ اصلی برنامه خللی وارد کنه!
البته در صورتی که در استفاده از نخ ها دچار زیاده روی شوید قطعا در کارایی برنامه تاثیر خواهد گذاشت
خیر دوست عزیز! ربطی به جاوا نداره تمامی محیط های برنامه نویسی همینطور هستند یعنی نرم افزاری که در این زبانها تولید میشه یک نخ اصلی دارند در یک پردازه اصلی
اینکه شما می فرمایید که بایک فعال و غیر فعال کردن متغیر باید انجام میشد؟! تا حالا به غیر از جاوا تو کدوم محیط برنامه نویسی کردید که چنین استنباطی کردید؟ به هرحال حتی محیطهای برنامه نویسی قدیمی هم که single thread apartement بودند هم باز یک نخ اصلی داشتند فقط مشکلی که داشتند این بود که از چند نخی پشتیبانی نمیکردند.
بنابراین وقتی بخواهید با المانهای گرافیکی فرمهایی که دارید در ارتباط باشید باید در همان نخ صاحب المان همون نخ اصلی برنامه در تعامل باشید مثلا برای کاری که شما می خواهید انجام بدید حتما هم لازم نیست که از نخ های دیگه ای استفاده کنید می تونید در همون نخ اصلی هم عملیات هایی که لازم دارید انجام بدید یعنی امکان اضافه کردن عملیاتها ویا فرآیندهایی در زمان اجرا به نخ اصلی وجود دارد. ولی خیلی روش بهینه ای نخواهد بود.
ودر آخر هم همانطور که خودتون گفتید بهتره کمی درباره نخ ها مطالعه داشته باشید و سعی کنید مثالهای مختلف راهم انجام بدید فقط توجه داشته باشید که به علت پیچیدگی هایی که در برنامه نویسی چند نخی و همزمانی و موازی سازی وجود داره سعی کنید که کم کم به این مباحث و تکنیک ها آشنایی پیدا کنید