امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 3
  • 1
  • 2
  • 3
  • 4
  • 5
توقف موقتی Thread ها
نویسنده پیام
behzady آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 1,169
موضوع‌ها: 57
تاریخ عضویت: آبان ۱۳۹۰

تشکرها : 4094
( 6339 تشکر در 2085 ارسال )
ارسال: #1
توقف موقتی Thread ها
سلام
دوستان ما یه برنامه جاوا داریم که روی یک CPU تک هسته ای اجرا میشه
و چندین نخ ایجاد می کنه
همین طوری که مشخص هست هیج وقت به صورت هم زمان این نخ ها اجرا نمی شن چون CPU تک هسته ای هست و مدیریت این نخ ها رو سیستم عامل (شایدم VM جاوا) انجام می ده
حالا مسئله ای که هست اینه که ما توی یک جایی از برنامه نمی خوایم وقفه ای ایجاد بشه
مثلا یه متودی هست که توش نمی خوایم وقفه ای ایجاد بشه
یعنی اگر متود اجرا شد تا زمان پایان متود این نخ فعال باشه و غیر فعال نشه
چه راه کاری وجود داره؟

به همه عشق بورز، به معدودی اعتماد کن و در حق کسی بدی نکن.
ویلیام شکسپیر

نباید ایمان به انسانیت را از دست دهید. انسانیت یک اقیانوس است؛ اگر قطرات اندکی از اقیانوس کثیف است، اقیانوس کثیف نمی‌شود.
مهاتما گاندی

يَا أَيُّهَا الَّذِينَ آمَنُواْ اسْتَعِينُواْ بِالصَّبْرِ وَالصَّلاَةِ إِنَّ اللّهَ مَعَ الصَّابِرِينَ
۱۱-بهمن-۱۳۹۲, ۰۸:۰۹:۰۲
وب سایت ارسال‌ها
پاسخ
babyy آفلاین
بازنشسته
*****

ارسال‌ها: 3,095
موضوع‌ها: 141
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 35081
( 26090 تشکر در 9068 ارسال )
ارسال: #2
RE: توقف موقتی Thread ها
در واقع همونطور که خودت هم نمیدونی Biggrin وقتی یه برنامه هم بدون هیچ نخی داره اجرا میشه؛ کل زمان cpu واسه اون صرف نمیشه؛
cpu یکم دستورات برنامه‌تورو اجرا میکنه؛ بعد میره یکم از یکی دیگه اجرا میکنه و یعد دوباره میاد بقیه‌ی و.اسه تورو احرا میکنه و ...

با این توضیحات؛ شما هرکاری کنی؛ حتی اگه تردی هم نداشته باشی برنامه‌ات اونطوری که میخوایی وقفه نداشته باشه اجرا نمیشه و وقفه یکی از اجرای حدا نا پذیر پردازش هست

چه cpu شما تک هسته‌ای باشه چه نباشه



ولی اگه منطورت اینه که میخوایی وقتی این نخ اجرا شد؛ دیگه نخ دیگه‌ای اجرا نشه و برنامه اصلیت متوقف بشه تا پایان این نخ و این کارا؛ میتونی از یه سری توابع؛ (توی لینوکس)مثلا wait که میمونه تمام فرزندان کارشون تموم بشه و .. و یا دستی میتونی متغیری تعریف کنی که چک کنی تردی در حال اجرا هست و یا نه و . ..
۱۲-بهمن-۱۳۹۲, ۰۴:۲۴:۳۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Ambassador, behzady


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS