DM1-Threads-Bibliothek.

DM1 Threads-Bibliothek ist eine tragbare Threads-Bibliothek in C ++.
Jetzt downloaden

DM1-Threads-Bibliothek. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • GPL
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Dibyendu Majumdar
  • Website des Verlags:
  • http://www.mazumdar.demon.co.uk/DM1-Thread-Library-TOC.html

DM1-Threads-Bibliothek. Stichworte


DM1-Threads-Bibliothek. Beschreibung

DM1 Threads-Bibliothek ist eine tragbare Threads-Bibliothek in C ++. Die DM1-Thread-Bibliothek ist Teil des DM1-Projekts. Diese Bibliothek wurde aus meiner Notwendigkeit geboren, eine tragbare C ++ -Thread-Bibliothek zu haben, die einfach zu bedienen wäre und alle erforderlichen Threads-Funktionen bereitstellen würde, die ich für das DM1-Projekt benötigt habe. Diese Bibliothek war in C, aber als ich mich entschieden habe Schreibe dm1 in c ++, ich habe die Bibliothek auf c ++ portiert. Während des Ports verbesserte ich die Funktionalität der Threads-Bibliothek. Die DM1-Threads-Bibliothek zielt darauf ab, klein zu sein. Es versucht nicht, ein umfassendes Funktionalitätssatz bereitzustellen, aber nur das, was für ein Projekt wie DM1 absolut wichtig ist. Ich hatte die Einfachheit des Java-Threads-Pakets beim Erstellen dieser Bibliothek. Die von der DM1-Thread-Bibliothek bereitgestellten Konstrukte sind: · Gewindeobjekte, die Betriebssystemfäden darstellen. · Ein Mutex ist als Mechanismus für den gegenseitigen Ausschluss bereitgestellt. Mutexe werden verwendet, um sicherzustellen, dass ein Codestück zu einem beliebigen Zeitpunkt nur von einem Thread ausgeführt wird. · Ereignisse werden als Niedrigniveau-Mechanismen zur Fadensynchronisation bereitgestellt. Ereignisse können auf gewartet und angelegt werden. · Ein höheres Niveau-Objekt, das die Funktionalität eines Ereignisses und eines Mutex kombiniert, ist bereitgestellt. Dies ist das Monitorobjekt. Ein Monitor kann ausschließlich wie ein Mutex ausschließlich gesperrt werden, aber es kann auch das Objekt einer Wartevorrichtung erfolgen. Der Signalisierungsmechanismus unterstützt die Benachrichtigung von einem oder mehreren Wartefäden. · Um eine effizientere Verriegelung zu ermöglichen, wenn sowohl ein gemeinsamer als auch ausschließlicher Zugriff auf Daten erforderlich sind, sind Riegel vorhanden. · Abgesehen von den oben beschriebenen Fadensynchronisationsprimmiktiven bietet die Bibliothek auch einen Threadpool für Die Situation, wenn es ineffizient ist, einen Thread ausschließlich für eine bestimmte Aufgabe zu erstellen, und es ist wünschenswert, einen Pool von Threads für die Ausführung mehrerer Aufgaben zu teilen.Design PrinzipIPLADHE DM1 Threads-Bibliothek wurde mit den folgenden Grundsätzen konzipiert: 1. Implementieren Sie das nackte Minimum, das erforderlich ist. Diese Threads-Bibliothek zielt nicht darauf ab, ein umfassendes Thread-Paket zu sein.2. Vermeiden Sie komplexe Algorithmen. Wenn ein bestimmtes Konstrukt auf allen Plattformen nicht korrekt implementiert ist, vermeiden Sie es.3. Dokumentieren Sie die Bibliothek.4. Vermeiden Sie einen niedrigen Pegelcode, z. B. Assembler-Code, um Spin-Locks zu implementieren. Verlassen Sie sich auf die vom Betriebssystem bereitgestellten Bibliotheken.5. Vermeiden Sie, MutExe-Halten von Funktionsaufrufen zu halten. Eine DM1-Thread-Bibliotheksfunktion enthält keine Mutex-Sperren, wenn es zurückgibt.6. Verwenden Sie die Verwendung von cleveren C ++ - Techniken, wo immer möglich. (Leider ist etwas Klugheit erforderlich, um die Threadklasse richtig umzusetzen) .7. Vermeiden Sie die Abhängigkeit von externen Bibliotheken. Die DM1-Bibliothek erfordert nur die Standard-C-Bibliothek, abgesehen von nativen Threads-Funktionen.8. Melden Sie immer einen Fehler, sobald er entdeckt wird.9. Legen Sie Debug-Nachrichten ein, die bei der Laufzeit eingeschaltet werden können.10. Wirf keine Ausnahmen von Destruktoren, da diese aufgrund einer nicht erfassten Ausnahme ausführlich sein könnten.11. Lassen Sie niemals einen Fehler nicht nicht gemeldet werden.


DM1-Threads-Bibliothek. Zugehörige Software

Yastr.

YASSTR ist eine einfache String-Bibliothek, die hauptsächlich aus Funktionalität besteht, die ich in meinen Programmen benötige. ...

137

Herunterladen