ورود

View Full Version : سوال: Function یا Procedure ?



seyed_farid
شنبه 24 فروردین 1398, 22:52 عصر
با عرض سلام
من یک سری کارها را با ارسال چند پارامتر میخواهم انجام دهم که برای آن از یک Procedure استفاده کرده ام.
در برنامه ام گاهی پیش میآید که در حین اجرای پروسیجرم که طولانی است، دوباره آن پروسیجر توسط بخش دیگری از برنامه صدا زده و اجرا میشود.
حال سوال من این است که چه اتفاقی رخ میدهد؟
آیا ادامه کار پروسیجر اول رها میشود و پروسیجر دوم که با ارسال پارامترهای جدید صدا زده شده اجرا میشود؟
یا اجرای اول پروسیجر تا پایان کار ادامه پیدا میکند و در همان لحظه نیز اجرای پروسیجر با ارسال مقادیر جدید اجرا میشود؟

آیا بین Function و Procedure در این مورد تفاوتی هست؟

یوسف زالی
یک شنبه 25 فروردین 1398, 14:29 عصر
سلام
بین تابع و پردازه در این خصوص تفاوتی نیست
اگر برنامه شما مولتی ترد نباشد، بیشتر از یک خط فرمان وجود ندارد و تا پایان اجرای تابع یا پردازه، هیچ خط دیگری از برنامه ران نمی شود
یعنی این که اگر خط 8 برنامه شما تابعی را کال کرده باشد که طولانی است، خط 9 برنامه باید آنقدر صبر کنه که کار اجرای تابع به پایان برسه
اگر برنامه شما مولتی ترد است، داستان فرق می کنه، و باید از کریتیکال سکشن ها استفاده کنید