SORU
30 Aralık 2009, ÇARŞAMBA


Cpu çekirdek göre konuları ölçek için Nasıl?Java:

İyi bir java programcısı değilim, sadece hobi olarak, ama ortalama şeyler hakkında daha fazla bilmek için can atıyorum.

Birden çok iş parçacığı ile bir matematik problemini çözmek için java istiyorum. matematik benim sorunum çeşitli konuları da çözmüş istiyorum bu iş birimleri, ayrılabilir.

ama iş parçacığı üzerinde çalışan sabit tutar, ama konuları uygun önyükleme yapılandırma dosyasına bir miktar cpu çekirdek miktarı etmek istemiyorum. ve benim bu sorun için internette kolay bir öğretici bulamadım. bulduğum tüm sabit konuları buna örnektir.

Çok iyi bir tuturial için bir bağlantı ile bana yardım ya da bana kolay ve güzel bir örnek verebilir misiniz? Bu gerçekten güzel olurdu :)

CEVAP
30 Aralık 2009, ÇARŞAMBA


Statik Çalışma yöntemi, availableProcessors kullanarak işlemler Java Sanal Makine sayısını belirleyebilirsiniz. İşlemci sayısı belirledikten sonra iş parçacığı sayısı oluşturmak ve bölmek işinizi buna göre.

Güncelleme: Daha fazla açıklığa kavuşturmak için, bir iş Parçacığı başka bir nesne oluşturmak gibi sadece oluşturmak için Java sadece bir nesnedir. Bakalım yukarıdaki yöntemi çağrısı ve 2 işlemciler döndürür. Harika. Şimdi, yeni bir iş Parçacığı oluşturur, ve iş parçacığı için kapalı böler ve iplik yangınları kapalı bir döngü oluşturabilirsiniz. Burada ne demek istediğimi göstermek için bazı psuedocode:

int processors = Runtime.getRuntime().availableProcessors();
for(int i=0; i < processors; i  ) {
  Thread yourThread = new AThreadYouCreated();
  // You may need to pass in parameters depending on what work you are doing and how you setup your thread.
  yourThread.start();
}

Kendi iş parçacığı oluşturma hakkında daha fazla bilgi, head to this tutorial için. Ayrıca, iş parçacığı oluşturma için Thread Pooling bakmak isteyebilirsiniz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • boburnham

    boburnham

    11 Temmuz 2006
  • Helder Barreto

    Helder Barre

    22 Mayıs 2006
  • williamfitzsimmons

    williamfitzs

    14 Mart 2008