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

  • B3ASTTY™

    B3ASTTY™

    27 Mayıs 2013
  • MultiPlayStationMan

    MultiPlaySta

    17 Aralık 2009
  • Muse

    Muse

    28 EYLÜL 2006