Results 1 to 5 of 5

Thread: Parallelisieren in c++ oder f

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Ganz wichtig ist, daß du dich mit Threadsicherheit befaßt! Threads teilen sich den Speicherbereich und nicht threadsichere Funktionen können wunderbar obskure Bugs auslösen.

    Semaphore sind ein Mechanismus, um kritische Abschnitte (so nennt man, grob gesagt, Codeteile, die auf Daten zugreifen) zu sichern, Monitore sind noch einer, aber es gibt auch ganz einfache wie Locks und Spinlocks. (BTW: Ja, Spinlocks können bei SMP durchaus Sinn machen - wenn man exakt einen Kern stilllegen möchte, während der Rest weiterarbeitet.)


    Threads funktionieren übrigens auch auf Einkernsystemen, nur laufen dann eben die Threads abwechselnd statt komplett parallel. Der Effekt ist aber fast der selbe. (Tatsächlich ist Threading auf Einkernsystemen ein kleines bißchn übersichtlicher, eben weil es keine echte Parallelität gibt.)

  2. #2
    Da ich in letzter Zeit immer total viel zu tun hab, habe ich bis jetzt keine Zeit gefunden mich selber weiter damit zu beschäftigen.
    Hat da nicht einer von euch ein kleines Beispiel an das ich mich halten kann?
    Z.B. muss ich in einer Schleife zwei "fast" identische Berechnungen machen, wobei die eine aber nach n-Durchläufen unterbrochen wird und paar Parameter neu skaliert werden müssen (Skalierung hängt von der anderen Berechnung ab).

    Kann mir einer sagen wie man das in zwei Threads unterteilt?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •