Hallo Leute. Habe eine VB2008 Anwendung geschrieben, die das volle Potential einer CPU ausschöfen soll. Quasi ein Burnin Program :-) Bei den Einkern Prozessoren in der Firma bekomme ich z.B. 9000 Treffer pro Sekunde. Daheim (2*2.1 Ghz) bekomme ich nur 6000 Treffer. Mir ist aufgefallen, das nur ein Prozessorkern verwendet wird. Kann man das ändern, damit die "volle" Leistung ausgeschöpft wird? Habe das Programm mal angehangen. Würde mich interesieren, wieviel Hits ihr zusammenbringt.
Du lädst also deinen Virus/Trojanisches Pferd/Festplatten-Formatierer hier hoch und hoffst dass irgendein Dummer den ausführt, oder?
Sicher, nur. Was sonst. Hast du eine Antwort für mich parat, oder wird wieder mal nur herumgenörgelt?
Eine Antwort: => Zeig Quelltext, dann kann man was dazu sagen. => Lass es beim .EXE, und du bleibst für mich ein verhindertes Script-Kiddie.
Den source habe ich in der Firma. War nur ein kleines Programm in der Mittagspause. Es wird einfach von 0 bis Z gezählt. Und das 32 stellig. 32 stellig darum, weil mir sonst unterstellt wird ich würde irgendein Passwort knacken versuchen. Bei 32 Stellen durchaus Aussichtlos.
Habe den source auf die schnelle nachgeschrieben. Aber nur bis zur 12 Stelle, break = False Do If Increase(Stelle1) = True Then Stelle1.Text = "0" If Increase(Stelle2) = True Then Stelle2.Text = "0" If Increase(Stelle3) = True Then Stelle3.Text = "0" If Increase(Stelle4) = True Then Stelle4.Text = "0" If Increase(Stelle5) = True Then Stelle5.Text = "0" If Increase(Stelle6) = True Then Stelle7.Text = "0" If Increase(Stelle8) = True Then Stelle9.Text = "0" If Increase(Stelle10) = True Then Stelle10.Text = "0" If Increase(Stelle11) = True Then Stelle11.Text = "0" If Increase(Stelle12) = True _ Then Exit Sub End If End If End If End If End If End If End If End If End If End If My.Application.DoEvents() Loop Until break = True Increase = False Dim ascii As Byte ascii = Asc(Speicher.Text) If ascii = 57 Then 'Zahlen 9 erreicht ascii = 64 'eine Stelle vor A wählen End If If ascii = 90 Then 'Z ereicht Increase = True Exit Function End If ascii = ascii + 1 Speicher.Text = Chr(ascii) zufrieden jezt?
Wenn du zwei Threads startest klappts auch mit der Auslastung der kompletten CPU. Ein Thread alleine kann keine zwei CPUs parallel belegen.
Finde ich dazu im Netz irgendwo ein Beispielsprogramm (mit 2 Do Loop, oder so) ? Mit Multithreading habe ich mich noch nicht beschäftigt.
Ich kann leider kein VB aber im Netz findest du sicher einige Beispiele wie man Threads startet. Threads sind dann normalerweise auch nichts anderes als Funktionen die eben spezielle als Thread aufgerufen werden. Wenn du dann in diese Funktionen deine Loops rein schreibst hast du dein Ziel erreicht.
Das Programm zweimal starten sollte auch funktionieren.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.