PDA

View Full Version : سوال: انتظار تا اتمام تابع



pesare_ariyayi
سه شنبه 29 اردیبهشت 1388, 11:02 صبح
سلام
من یه framework دارم که ازش تو پروژه استفاده می کنم. با این framework میتونم به دستگاه بلوتوث دیگه ای وصل بشم. تابعی که پایین نوشتم رو فراخونی می کنم تا ارتباطم رو با دستگاه بلوتوث (گیرنده) قطع کنم

client.close()
وقتی این تابع فراخونی می شه دقایقی میگزره تا ارتباط قطع بشه. من می خوام ارتباط رو قطع کنم و بقیه کارم رو انجام بدم. اما برنامه به این تابع می رسه, این ارتباط رو قطع می کنه (در حالی که واقعاً ارتباط قطع نشده) و برنامه تا آخر می ره, تازه ارتباط قطع می شه. اگه ارتباط قطع بشه, client.active ==false شرط درستی در میاد.
نمی تونم یه جور وایسم که client,close کار خودش رو انجام بده و بعد برنامه رو ادامه بدم؟ با این شرطی که نوشتم چطور؟ نمیتونم؟

roxana
سه شنبه 29 اردیبهشت 1388, 11:39 صبح
سلام،
می توانید از حلقه while برای چک کردن این شرط استفاده کنید. اما باید مطمئن شوید که بالاخره این شرط false خواهد شد، در غیر این صورت این حلقه تا بی نهایت ادامه پیدا می کند.
بعد از اجرای client.close(); می نویسید:


while (client.active)
{
}

pesare_ariyayi
سه شنبه 29 اردیبهشت 1388, 11:44 صبح
سلام،
می توانید از حلقه while برای چک کردن این شرط استفاده کنید. اما باید مطمئن شوید که بالاخره این شرط false خواهد شد، در غیر این صورت این حلقه تا بی نهایت ادامه پیدا می کند.
بعد از اجرای client.close(); می نویسید:


while (client.active)
{
}


آخه من باید چندین بار تو برنامه این کار رو انجام بدم! تا وقتی هم که این ارتباط بسته بشه 4-5 ثانیه طول می کشه. حلقه های طولانی not responding ایجاد می کنن
دنبال روش بهتریم

hsmfaridmehr
سه شنبه 29 اردیبهشت 1388, 12:51 عصر
چرا از یک Thread واسه غیر فعال کردن BlueTooth استفاده نمیکنی