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

  • Break

    Break

    10 Aralık 2005
  • cosmicrocketman

    cosmicrocket

    17 NİSAN 2006
  • Dave Wallace

    Dave Wallace

    27 Kasım 2007