SORU
7 Temmuz 2010, ÇARŞAMBA


Nasıl bir java iplik dikkatlice dur?

Bir iş parçacığı çalıştırmak için çok fazla zaman alıyor ve tamamen bitmiş değil gibi görünüyor yazdım. Konu incelikle son vermek istiyorum. Herhangi bir yardım ?

CEVAP
7 Temmuz 2010, ÇARŞAMBA


iyiyol yapmak için run() İplik korunan tarafından boolean değişken ve ayarlamak için true dışarıdan olmak istediğin zaman Durdur, gibi bir şey

class MyThread extends Thread
{
  volatile boolean finished = false;

  public void stopMe()
  {
    finished = true;
  }

  public void run()
  {
    while (!finished)
    {
      //do dirty work
    }
  }
}

Bir zamanlar stop() bir yöntem belgelerine durumlar var ama

Bu yöntem, doğal olarak güvensiz. İş Parçacığı bir iş parçacığı durdurmak.dur kilitli olan monitörleri tüm kilidini açmak için (kontrolsüz ThreadDeath özel durum yığın propaganda kadar doğal bir sonucu olarak) neden olur. Eğer bu nesneleri daha önce bu monitörler tarafından korunan herhangi tutarsız bir durumda olsaydı, hasarlı nesneleri için başka bir iş parçacığı görünür, potansiyel olarak keyfi bir davranış sonucu olur.

Bir bekçi.. yüzden almalısın

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HBO

    HBO

    17 Mayıs 2006
  • Mindy

    Mindy

    20 NİSAN 2006
  • TastyTuts | Creative video tutorials by Gareth David

    TastyTuts |

    6 Temmuz 2011