[Playlisten] [Impressum und Datenschutzerklärung]

09.3 Parallele for-Schleife


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

die erste artig vorführen willwie zuletzt etwas schickeraufgerufen werden könnenwenn sich die parallele for-Schleife die Gips in sie sharp die gibt esebenso in MATLABgegen einen kleinen Aufpreisin diversen Sprachen gibt das der Gedanke ist nichtschon mal auf der Gedanke wenn ich eine for-Schleifehabe?? das sich bei der for-Schleifemeine Listemuss meine Liste ist das ich diese Liste nicht einen nach dem andern Besuch in der for-Schleifesonderndass sichmehrere Threads losschickedie Parallelelementeder for-Schleife besuchenich einen nach dem anderen seine erste zweite dritte und fertig mit dem hundert tausend ?? mehrere Threads die einfach parallel durch die for-Schleife geraten das ist eine ganz billige Artdanneinfache Art Qualität zu erzeugen mir jetzt beschäftigenamtlich zeigt dasssie scharfund merke an in anderen Sprachen gibt es auch parallele for-Schleifeeineziemlich nahe liegende Konstruktionwas ich brauche ist erst maleine Klasse mit einer Methode die auch Arbeit macht in der for-Schleifemuss eine?? in der for-Schleife musseinerMethode aufgerufen werden für eineAuflistungwo kommt diese Auflistung gleichen sie Wasserhammer sichin seine Liste einsetzen kann also eine neue Klasse den Elementen der Liste landen wir das genannt Staffund Zeugsalsweiter nach außenganz irritiert vielleicht zu Sitzes im nächstbestennun üblicheine Klasse Zeugsund der gebe ichnatürlich wieder mal eine Methode das ja was tun kann Kommalegtdas natürlich die NummersechsBeistrichandie soll was tun diese MethodeüblichBlödsinnals Beispielklauen kann von den zur Zeit aber nicht mehr zu Fuß schreiben möchte for-SchleifehabenFormeneins alsvon null bishundertdreiKlammer zu vielrichtigund wie üblicheine Ausgabewenn nicht beim vierfachenein vielfachen von zehn MillionendreiBescheid sagenmit diesen nettenSystemen?? DiagnosticsAgnusReagansüber whiteline ja ?? ?? whitelinesie nebenbei was der ?? kannweitgehendwenn eine Bedingung erfüllt ist was raus schreiben whiteline ?? in eine Bedingung erfüllt es was raus schreiben und Zeilenumbruch machendenich mach das Whitelionhierdas einfachste wäre das sich wieder ausgebe an welcherStelle wir sinddurchzehn Millionen einszwei dreidreiso bis dahin soweit gut ich möchte jetzt gleich in einer Liste mehrere Instanzen hiervon haben ?? und ich möchte das die for-Schleifemir Instanzen davon parallel bearbeitetsinnvoll wäre wenn ich sagen kann welche Instanz welches das man sieht das auch wirklich was passiert ich merke mir obendrein nocheine Nummerfür jede Instanzdas ?? soll sie auch noch einenTraktor haben schon undwirddort auch noch ein Massaker dafür habendichdie mich diese Nummer geben kannMauszeiger im Weg stündeKomma kann soist gleichdie das sein möchtemehrereElemente von dieser Sorte anlegen jedem Elementlaufende Nummer mit ?? als Demo damit man etwas sieht das wirklich mehrere parallelin dieser Funktion hängendamit das auch wirklich eindrucksvolles gebe ich dir diese Nummer auch noch mit ausdieser Formdann schreibt dann jeder ?? herein seine Nummer Doppelpunktvor gerade istund sich hoffentlich das tatsächlich mehrere Nummernparallelabgearbeitetwerdenuff so das wäre die Klassein der die Arbeit verrichtet werden soll Beistrich wird man später was vernünftiges haben gerneirgendeine Wettersimulationdie es von mir aus in Quadranten unterteiltund jeder Quadrant arbeitet für sich tausenden Widersachern mit den anderen ausoder sie haben eine Funktiondiedie von einer gegebenen InternetseiteDaten einsammeltund davon umso mehr Kopien der verschied verschiedene Internetseiten gleichzeitig Daten eingesammelt werdenvon dem Kaliber wird das nach ?? sein Liebe des einfachen gezähltdamit das Ding was duandas soll die Klasse sein in der die Arbeit getan wird jetzt liege ich davon einfachen Paarenund diese Liste will ich dann mit einem parallelen Form mit einer parallelen for-Schleife durchgraben durch man das durchsoeinfallslosistdas System die Listeund jetzt erzeuge ich daein paar Sachen drinnen fürhundert?? Beistrich was zu tun?? Sachen erzeugter trennen also Frau erhältund dann jeweils einen neueneiner Instanzvondiesem Staffdas die Arbeit machtKomma und dass wir noch abstrakter hier die ZahlensoKommaalso was habe ich jetzt hiereine klasse Staff die irgendwelcherArbeit übernehmen kannund einer Wirkmethodedavon erzeuge ich Wunderdingestreiche die in eine Listejedes Ding was seine Nummer?? möchte ichdie Arbeit in der Liste mache nicht für das erst mal das nicht zu mitschreibe ich für das erste der herkömmlichen for-Schleife vordamit sie sehendies bisher funktioniertbisher wäre so ich schreibe eine herkömmliche for-Schleife in etlichen for-each-Schleifeich möchte alle in der Liste besuchensound für jedes Item in der Listein der Liste diedu Wirkfunktionaufzurufendas wir auf das wäre die klassische Arteine Liste von Sachen die irgendwelcheJobs erledigen sollenist diese Listehier schmeiß ich hundert Sachen in die Liste reinsage ich okay bitte alle durchgehenund jedes Dingeinmal seine Arbeit erledigen lassendie werden also schön miteinander stehenmal sehenwas er jetzt noch nicht parallel das andersmeine nicht parallelen ?? anklickegeht der Nummer null wird abgearbeitetNummer eins wird abgearbeitetNummer zwei wird abgearbeitetNummer drei wird abgearbeitet die zweite Zahl hinter dem Doppelpunkt sagte jeweils bei wichtigen vierzig Millionen wir gerade sindsie die eine nach dem einen abgearbeitetwird ist das klassische vorkann ich jetzt auch nicht stoppenspannt die einzige Chance das zu stoppen ist jetzt dieses Programm abzuschießensobitte seit Ewigkeiten darandas es die klassische Art Sohn des Mannes mit Schweiz ein parallelesvorliegtanversteckt sich auch wieder Inzest ?? Trading Systemsternden??da gezielt ein Unternehmen namens Raum Tasksneuerdingsund da gibt es einentolleKlasse perverseund die hat eine statische Methode sind Form vorgestellt?? klassisches vor was durchnummeriertgeht es über das for-each-Schleifeparalleles vorliegt also genauer gesagtund folglich muss ich sagendas abschrecken von von dem er sich ganz einfach diesen Foyer zu sagen was er denn tun soll für jedes Dingdann der Ausdruck in das hat ?? schon malbeim Maximumin das Maximum aller Datenwerte in einer Liste bestimmenodereinen bestimmten raus blicken hier auch wieder mit zum Lande Ausdruck ich sageerst mal quer durch Sortenwerden welche Liste angesagt ist und jetzt kommt dieser Lambda-Ausdruckein Element X aus der Listefür das rufe bitte auf??du Workbitte aufdas Hausdas ist tatsächlich schon allesalso ebenoffiziellursprünglichgeschrieben vor Idjede Liste durchWahrheit er den Typ automatischfeststellenanstaffersItem ist das Ding in der Liste geht alle durchgesetztItem auf jedes in der Liste und ruft jedes Eigentum wirkt auf das jetzt die parallele Version sowie die derzeit in der ?? nett aussiehtin den einer Sprache die sie sinnvollerweise natürlich mal wieder anders aus sprachen bei den man auf den tatsächlich Sonneschleifedastehen hatoder Sprachzusätzeden Materialismusschleifedann auch stehen hat es ist nicht sosieht aus den Methodenaufruffür jedesDingin dieser Liste Vführe das ausnehme das X das Ding aus der Liste V und rufe X Duwork aufwas ähnliches hatten wir schon beim Sortierenam wöchentliche Komperfunktionaufgerufen habe oder beim Maximum wo ich dann hier aus dem X ein Gartenfeld ausgelesen haben hier sage ichdas X läuft bitte alle Faust durch die Abbildung hier die Funktion die aufgerufen wird ist Duwork für jedes Ding in der Liste du Workund das ist schon alles das sorgt jetzt dafürdass das System selbst sich überlegt ob es eine geschickte Anzahl an Threads mit der ich der durch gewisse Kerne habe ich Elvis Jahresverteilunginsgesamt ist gerade Luft daanden genauen Algorithmus kennt man michals Außenstehenderam?? Software sich was dabei gedacht habendieses Vorbild verteilt die Arbeit von selbstauf mehrereThreadsund versucht dabei möglichst intelligent zu sein Komma gänzlich vorhersehen?? vom Rechner von dem was uns aus dem Rechner läuftwird die die die Zahl der Threads bestimmt das sich vorher sind viele sind man kannaber zusätzlich noch Randbedingungenangeben oder sogar genauer angeben was man gerne hätte aber erst mal so in dieser Form ohne weiteresentscheidet dort mit selbst was es gerne machen würdeund wenn ich das es ausführensehen sie das ja alles mögliche parallel stattfindetNummer einundfünfzigund die Nummer vier werden gerade parallel verarbeitetjetzt ?? Nummer sechsundfünfzig?? Nummer sechs parallel verarbeitetgerade die Nummer sechzig und die Nummer sieben verarbeitethatte sich selbst entschieden erscheint zwei Thread aufzumachenPunkt eine fängt bei null an und anderefünfzig angefangenauf einer groß Maschine zu Hause macht der glaube ich vier Threads parallel aufund arbeiten vier Stellen gleichzeitig in der for-Schleifedamit ersetztohne dass ich mich drum kümmern muss wie die Verteilung ist ich kann mich drum kümmern wenn ich dann ganzgenau sein will gute Furchtder präzise Vorstellung habe sich der Handel kann ich es selbst einstellen aber ich muss es ganz sachte Maschineich habe hier eine Liste an Elementen ich möchte davonvon jedem du Work Aufruf undsorgte dafür das von jedem einmal Work aufgerufen wird wie auch immeranund er verteilte das Netz auf netter verschiedeneThreadsmüsse?? mal fertig werden ?? vierundvierzigwar es so lange nicht das ungeduldig heuteverhindert man aberdas ist die parallele for-Schleifewenn sie irgendwo ohne neue Programmiersprachelernenum selber mal nach wie die parallel for-Schleife da aussieht typischerweiseist die inzwischen eingebautseiirgend eine extra Bibliothek mit der sowas gehtdas ist dieeinfachste Art finde ich zumindest die einfachste Art mit mehreren Threads zu arbeitensehne gar nicht mehr die Schweiz?? an die werfen nur noch der Bibliothek die Arbeit vor die Füße und die Bibliothek kümmert sich