süreç.() bekle asla geri dönmez | Netgez.com
SORU
30 Mart 2011, ÇARŞAMBA


süreç.() bekle asla geri dönmez

Process process = Runtime.getRuntime().exec("tasklist");
BufferedReader reader = 
    new BufferedReader(new InputStreamReader(process.getInputStream()));
process.waitFor();

CEVAP
30 Mart 2011, ÇARŞAMBA


waitFor() dönüşü olmayan birçok nedeni vardır.

Ama genellikle yürütülen komut çıkmak yok aslında aşağı kaynar.

Bu, yine, birçok nedeni olabilir.

Bir ortak akıl süreci bazı çıktı üreten ve uygun derelerin okumuyorsun. Bu işlem arabellek dolu ve süreç için okumaya devam etmek için bekler en kısa sürede engellendiği anlamına gelir. Teslim işlemi başka işlemin bitmesini bekler çünkü süreç bekliyor olmayacak (ki, ...). Bu klasik bir kilitlenme durumu.

Sürekli işlemler giriş akışı engellemez emin olmak için okumak gerekir.

Runtime.exec() Tüm tuzaklar açıklar ve "When Runtime.exec() won't" onları aramış yolları (Evet, yazı 2000, ama içeriği hala geçerlidir.) gösteren güzel bir makale var

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • 24 Канал

    24 КанаÐ

    5 ÅžUBAT 2006
  • oHeymarvin

    oHeymarvin

    11 Temmuz 2013
  • schmittastic

    schmittastic

    9 EYLÃœL 2009