PDA

نسخه کامل مشاهده نسخه کامل : سوال راجع به نحوه اجرای برنامه ها



SH@HIN
18-01-2013, 15:44
سلام دوستان
من چند روز پیش داشتم سورس(به زبان c++ بود ) یه گیم رو بررسی و ویرایش میکردم، بعد نیاز به یه تابعی پیدا کردم که دستورات رو به صورت نا محدود اجرا کنه( مثل کاری که حلقه انجام میده تقریبا)،اما در روال اجرای بازی تاثیری نذاره!
تو اینترنت سرچ کردم و پیدا شد،بعد این سوال برام پیش اومد که مگر اجرای برنامه از یه خطی شروع نمیشه و به بعد ادامه پیدا میکنه؟ چطور ممکنه که توابعی داشته باشیم که موقعی که برنامه در حال اجراست به طور جداگانه کارشون رو انجام بدن!

بهتر بگم مثلا وقتی یه کد ساده رو مینویسیم و داخلش یه تابع رو فراخوانی میکنیم برنامه به محضی که به فراخوانی تابع میرسه پرش میکنه به تابع و تا کار تابع به پایان نرسیده برنامه ادامه پیدا نمیکنه،میخوام بدونم که چطور ممکنه که در یه سری برنامه ها به خصوص گیم ها چندین توابع هم زمان با هم کاری رو انجام میدن؟!!

حالا میخوام بدونم که من دارم اشتباه برداشت میکنم یا همچین چیزی هست واقعا؟!

Open-Source
18-01-2013, 16:11
خوب اون تابع اون تکه کد مود نظر شما رو تو یه نخ (thread) مجزا اجرا میکنه.
کل این داستانی که تعریف کردی به چند نخی مربوط میشه. (در مورد multithreading سرچ کن).
:n06: