2011-01-08 5 views
3

Welche Praxis oder Praktiken sind gut 90% der Zeit, wenn mit Threading mit mehreren Kernen gearbeitet wird?Welcher Gewindeschneidprozess ist in 90% der Fälle gut?

Persönlich alles, was ich getan habe, war unveränderliche Klassen teilen und Daten in eine Warteschlange zum Ziel Thread übergeben (kopieren).

+0

„sind, was Praxis oder Praktiken gut 90% der Zeit, wenn sie mit Gewinden mit mehreren Arbeits Kerne? "- Best Practice: Do not! –

+0

" Unkontrollierter Zugriff auf gemeinsame Variablen " –

+0

@Mitch: Das ist unfair, ich denke - Threading ist nicht etwas, was wir ignorieren sollten. –

Antwort

0

Das ist sehr vage - aber es gibt ein paar Grundregeln würde ich immer folgen:

  1. Stellen Sie sicher, Einfädeln Sinn macht, bevor Sie es
  2. Fokus auf Algorithmen implementieren, nicht einzelne Codezeilen, wenn Gestaltung für auf höchstem Niveau
  3. Gewinde Einfädeln möglich
  4. unveränderliche Daten Bevorzugen
  5. synchronisieren Datenzugriff entsprechend
  6. Bevorzugen hohe Threading-Bibliotheken über niedriges Niveau, handgeschriebener Threading Code
  7. Measure (stellen Sie sicher, 1. wahr!)