Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Advanced Developers Conference     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: Java ::  Anzahl der CPUs / Kerne herausfinden     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
snOOfy
Mitglied

Benutzerprofil
Anmeldungsdatum: 09.11.2003
Beiträge: 1069
Beitrag snOOfy Mitglied 12:01:05 08.09.2009   Titel:   Anzahl der CPUs / Kerne herausfinden            Zitieren

Geht das?
Ich habe bei Google keine vernünftige Antwort gefunden... manche behaupten, es sei überhaupt nicht möglich, andere sagen, es geht nicht plattformunabhängig.
Das Java Native Interface hat vielleicht eine passende Funktion, aber ich hätte es gerne plattformunabhängig.

_________________
http://me-lrt.de
Probe-Nutzer
Unregistrierter




Beitrag Probe-Nutzer Unregistrierter 14:25:30 08.09.2009   Titel:              Zitieren

Hallo,

also ich kenne nur:

http://java.sun.com/javase/6/docs/api/java/lang/Runtime.html#availableProcessors()


MfG,

Probe-Nutzer
Javagot
Unregistrierter




Beitrag Javagot Unregistrierter 14:54:19 24.08.2010   Titel:              Zitieren

Also ich brauhe irgend ne Möglichkeit um herauszufinde wie viele Threads echt parallel auf dem jeweiligen System laufen können. Je nach dem ob man ein Single-, Dual- oder Quadcore processor hat, können dan entsprechend viele Threads gleichzeitig ablaufen, oder sehe ich das falsch? Von daher die frage, kann ich mit diese Methode der Runtime Klasse wirklich rausfinden wie fiele kerne der Processor hat? Und woher bekomme ich so ein Runtime Objekt? Einfach mit new Runtime()?
SideWinder
Moderator

Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18195
Beitrag SideWinder Moderator 14:56:30 24.08.2010   Titel:              Zitieren

Was genau da zurückkommt musst du glaube ich googeln, aber an ein Runtime-Objekt kommst du via http://download.oracle.com/javase/6/docs/api/java/lang/Runtime.html#getRuntime()

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
Javagot
Unregistrierter




Beitrag Javagot Unregistrierter 15:11:31 24.08.2010   Titel:              Zitieren

SideWinder schrieb:
Was genau da zurückkommt musst du glaube ich googeln, aber an ein Runtime-Objekt kommst du via http://download.oracle.com/javase/6/docs/api/java/lang/Runtime.html#getRuntime()

MfG SideWinder

Ja ich wies, mit dieser Singelton Methode getRuntime() kriegt man ein Runtime Objekt. Hab sogar das ganze auf einem singelcore Rechner ausprobiert und es kommt 1 heraus, probiere das jetzt auch noch auf dem Dualcore Rechner da müsste eigentlich ne 2 kommen. Troz dem bleibt die Frage ob diese Zahl dan auch der Anzahl der echt parallel ausführbaren Threads entspricht. Also auf meinem Dualcore Rechner scheinen 2 Threads echt parallel laufen zu können, aber das muss nich heißen das es imer so ist, oder?
SideWinder
Moderator

Benutzerprofil
Anmeldungsdatum: 19.10.2001
Beiträge: 18195
Beitrag SideWinder Moderator 15:27:05 24.08.2010   Titel:              Zitieren

Es gab mal http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5048379 aber ansonsten sollte die "Anzeige" psasen.

Sollte aber immer die für dich beste Version zurückgeben, angeblich (laut http://www.velocityreviews.com/forums/showpost.php?p=564601&postcount=9 ) könnte es auch eine andere Anzahl zurückgeben, bspw. weil ein Prozessor für einen anderen Prozess exklusiv reserviert ist. Aber genau das möchtest du dann ja auch, weil sonst laufen erst wieder zwei deiner Threads in einem Core, weil ein anderer reserviert ist, oder?

MfG SideWinder

_________________
http://www.dilbert.com/2009-06-11/
http://www.dilbert.com/2009-06-14/
_mad_
Unregistrierter




Beitrag _mad_ Unregistrierter 15:50:41 24.08.2010   Titel:              Zitieren

sollte dir das nicht ohnehin egal sein? denk doch nicht im ernst, dass deine beiden threads wirklich parallel auf einem dualcore ausgeführt werden :rolleyes:
das os hat da noch ein wörtchen mitzureden und schließlich gibts noch andere threads als deine..
abgesehen davon maße ich mir mal ganz dreißt an zu vermuten, dass du eh nicht wirklich wissen musst, wie viele du theoretisch verwenden könntest wenn du das nichtmal selbst herausbekommst mit ein bisschen googlen..
Javagot
Unregistrierter




Beitrag Javagot Unregistrierter 16:03:04 24.09.2010   Titel:              Zitieren

Hab jetzt mal das ganze auf verschiedenen dual core rechnern ausprobiert, wobei es nur cor 2 duo und pentium D rechner waren, und die Threads laufen meistens echt parallel, klar hat mir 1 oder 2 mal das Betriebssystem dazwischen gefunkt, aber an sonsten lief alles gut. Hab aber nicht das Programm auf den i3, i5 oder i7 Prozessoren getestet, da könnten fieleicht Probleme auftretten wegen de HT Technologie, hab ich i wo gelesen, werde mir aber das demnext selbst anschauen.
Javagot
Unregistrierter




Beitrag Javagot Unregistrierter 12:03:37 29.09.2010   Titel:              Zitieren

Hab nun ausprobiert auf den rechnern mit HT Technologie mir die Anzahl der Prozessoren zurückgeben zu lasen, und zwar auf einem Intel Atom und dualcore i5 Przessor und es wurden doppel so fiele Prozessoren ausgegeben wie es eigentlich sind. :( Liegt aber nicht am Java sondern an BS, den es erkännt auch doppel so fiele Prozessoren.
C/C++ Forum :: Java ::  Anzahl der CPUs / Kerne herausfinden   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.