۰
subtitle
ارسال: #۱
  
مفهوم نخ
سلام کسی می تونه مفهوم نخ رو برام توضیح بده و بگه فرقش با فرآیند چیه؟
۰
ارسال: #۲
  
RE: مفهوم نخ
(۱۰ شهریور ۱۳۹۳ ۱۱:۴۹ ق.ظ)rezajam نوشته شده توسط: سلام کسی می تونه مفهوم نخ رو برام توضیح بده و بگه فرقش با فرآیند چیه؟
فرایندها فضای آدرس دهی خاص خود را دارند. برای مثال اگر از دید معماری نگاه کنیم و حافظه مجازی، هر فرآیندی فضای آدرس دهی (Address Space) مختص خودشو داره و زمانبندی فرآیندها را CPU انجام میدهد.
در مقابل نخ ها از همان فضای آدرس فرآیندها استفاده میکنند و در حقیقت هر فرآیندی نخ هایی برای خود دارد. و نخ ها از همان فضای آدرسی دهی فرآیندها استفاده میکنند. البته نخ های یک فرآیند به صورت اشتراکی از یک فضای آدرس دهی (مختص فرآیند مربوطه) استفاده میکنند. و اگر اشتباه نکنم زمانبندی نخ ها را سیستم عامل انجام میدهد.
چون نخ ها از یک فضای آدرس دهی استفاده میکنند یک ویژگی هایی دارند که فرآیندها ندارند که کتابها بهتر توضیح داده. (منم حضور ذهنی ندارم )، مثلا به راحتی و در حداقل زمان میتونند داده ها را به اشتراک بگذارند و از داده ها اشتراک استفاده کنند. هر چند فرآیندها هم با استفاده از تکنیک هایی این قابلیت را میتوانند داشته باشند اما با صرف هزینه.
هدف از فرآیند اینه که کارشو انجام بده و هدف از نخ ها اینه که در حقیقت کارهای فرآیند را آسان کنه. البته میتونه برای اهداف دیگه ای هم استفاده کنه اما مثالی که الان حضور ذهنی دارم.
مثلا میتونید یک فرآیند را به تعدادی نخ تقسیم بندی کنید (مثل همون قضیه توابع در برنامه نویسی)، هر کدام از اینا کارای خودشون رو انجام بدند و نتیجه را به فرآیند اصلی تحویل بدند. حالا واسه خودمم یکم سوال شد که کاربرد نخ دقیقا به چه شکلیه.
البته من تنها کاری که از دستم برمیومد این بود که یه دید کلی برات بدم، اما نکات تستی رو میسپارم به دکتر حقیقت که خیلی بهتر توضیح داده.
اگه غلط گرامری، املایی یا معنایی داره اصلاح کنید لطفا
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close