PDA

View Full Version : چطور چندتادستور خاص رو توی یه صف بذارم تابه ترتیب اجرا بشن؟



vahid2112
یک شنبه 13 اسفند 1391, 19:50 عصر
سلام
چطور چند تا دستور خاص رو توی یه صف بذارم تا به ترتیب اجرا بشن؟
یعنی تا اولی بطور کامل انجام نشده سراغ دومین دستور و عملیات نره!

sohil_ww
یک شنبه 13 اسفند 1391, 19:56 عصر
متوجه منظور سئوالت نشدم !

erfan_urchin
یک شنبه 13 اسفند 1391, 20:19 عصر
به نظرم بهتره همه ی دستوراتت رو تو یک Class بنویسی ، که موقع فراخوانی دقیقا همین کارا رو انجام میده یعنی همه ی دستور هارو به ترتیب انجام میده
اگرم منظورت اینه که بیاد یه شرطی رو چک کنه هر دفعه ، اگه اون شرط انجام شد بره شرط بعدی میتونی مثلا یه همچین کاری کنی
while (true)
{
if (i > 5)
{
i += 3;
break;
}
}
با این کار تا اولین شرط انجام بشه break میکنه بیرون و تا قبل این که انجام نشه هردفه میاد چک میکنه

ma.rad
یک شنبه 13 اسفند 1391, 20:24 عصر
دستورات به ترتیب نوشته شدن اجرا می شن و تا دستوری با موفقیت اجرا نشه سراغ دستور بعدی نمیره

vahid2112
یک شنبه 13 اسفند 1391, 20:50 عصر
فرض کنید سه متد تعریف کردیم
و پشت سرهم از آنها استفاده میکنیم
متد1 را اجرا میکنیم و اجرا شدن آن تغییراتی را بدنبال داره
حالا من میخام تا زمانیکه نتایج متد1 مشخص نشده باشه متد2 اجرا نشه

ma.rad
یک شنبه 13 اسفند 1391, 21:03 عصر
از ترد یا همون نخ استفاده کنید
تو سایت جستجو کنید نمونه زیاد هست.

pedram.11
یک شنبه 13 اسفند 1391, 21:08 عصر
همونطور که دوستمون ma.rad فرمودند اکه بصورت معمول هرچندتا متد رو فراخوانی کنید تا متدی تمام نشده متد بعدی اجرا نمیشه

vahid2112
یک شنبه 13 اسفند 1391, 22:07 عصر
از ترد یا همون نخ استفاده کنید
تو سایت جستجو کنید نمونه زیاد هست.

یعنی از ترد میشه برای این کار استفاده کرد؟
اینطور که من گفتم؟

erfan_urchin
یک شنبه 13 اسفند 1391, 22:44 عصر
یعنی از ترد میشه برای این کار استفاده کرد؟
اینطور که من گفتم؟
نه دوست عزیز :متعجب: thread کاملا بر عکس اون چیزیه که شما میخواین
thread هر 3 تا متد رو همزمان باهم انجام میده
اگه شما مثلا اینجوری بنویسی کدتو
test t=new test();
t.f1();
t.f2();
t.f3();
طبق این کد اول به طور کامل متد f1 و سپس به طور کامل متد f2 و سپس به طور کامل متد f3 انجام میشه

ma.rad
یک شنبه 13 اسفند 1391, 22:55 عصر
نه دوست عزیز :متعجب: thread کاملا بر عکس اون چیزیه که شما میخواین
thread هر 3 تا متد رو همزمان باهم انجام میده
اگه شما مثلا اینجوری بنویسی کدتو
test t=new test();
t.f1();
t.f2();
t.f3();
طبق این کد اول به طور کامل متد f1 و سپس به طور کامل متد f2 و سپس به طور کامل متد f3 انجام میشه

چی می گی؟!!!!!!!!!!!!؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟

شما می تونید برای اجرای هر فرایند یه زمان تعریف کنید وبعد از اجرای کامل فرایند ، فرایند دوم اجرابشه و......

vahid2112
یک شنبه 13 اسفند 1391, 22:56 عصر
نه دوست عزیز :متعجب: thread کاملا بر عکس اون چیزیه که شما میخواین
thread هر 3 تا متد رو همزمان باهم انجام میده
اگه شما مثلا اینجوری بنویسی کدتو
test t=new test();
t.f1();
t.f2();
t.f3();
طبق این کد اول به طور کامل متد f1 و سپس به طور کامل متد f2 و سپس به طور کامل متد f3 انجام میشه


پس یعنی راهی نداره که بخوام تا یه شرط(نتایج حاصل از متد 1) صورت نگرفت متد اجرا نشه؟

vahid2112
یک شنبه 13 اسفند 1391, 23:01 عصر
چی می گی؟!!!!!!!!!!!!؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟

شما می تونید برای اجرای هر فرایند یه زمان تعریف کنید وبعد از اجرای کامل فرایند ، فرایند دوم اجرابشه و......

دقیقا مقصودم همینه که شما میگینن
میشه یه پروژه "خیلی ساده"ی اینطوری بذارین؟

ma.rad
یک شنبه 13 اسفند 1391, 23:04 عصر
اگر امکان داره که فرایندها با مشکل روبرو میشه باید از try cach استفاده کنی
در غیر این صورت فقط از ترد اسنفاده کنید

erfan_urchin
یک شنبه 13 اسفند 1391, 23:22 عصر
چی می گی؟!!!!!!!!!!!!؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟

شما می تونید برای اجرای هر فرایند یه زمان تعریف کنید وبعد از اجرای کامل فرایند ، فرایند دوم اجرابشه و......

چه جالب. من نمیدونسم میشه همچین کاری کرد
اگه یه نمونه کد بنویسید که توش این کارو واسمون انجام بده ممنون میشم