knivil schrieb:
Damit man erst wieder Fehler reinbaut?
Meine Threadklasse ist etwa 100 Zeilen lang. Ausserdem gehoeren Fehler zum Lernprozess. Da man den Code nachnutzen kann, braucht man die Klasse auch nur einmal schreiben.
Fehler gehören nur zum Lernprozess, wenn man sie auch findet, da man ja sonst schliesslich nix davon lernt.
Wenn du dich gut mit Threading und den ganzen versteckten Fallstricken auskennst, solltest du wissen, dass man viele Fehler die man da machen kann, kaum jemals findet. Die Art von Fehlern, die auch kaum bis garnicht zu reproduzieren sind, wenn man genau weiss was der Fehler ist, und speziell Code schreibt, der darauf aus ist, den Fehler zu triggern.
Irgendwann crasht vielleicht mal ein Programm aus "unerfindlichen" Gründen, oder liefert 1 von 10000 mal das falsche Ergebnis.
Dass es an falschen Annahmen liegt, unter denen man seine Threading-Klassen gebaut hat, vermutet dann selten jemand. Vor allem weil es "vorher ja immer funktioniert hat", "muss also an was anderem liegen". Bzw. oft denkt man dann garnichtmehr an Code den man vor Monaten oder sogar Jahren mal geschrieben hat.
Grundsätzlich gebe ich dir Recht: ja, es kann oft sinn machen etwas selbst zu schreiben, weil man dadurch dazulernt. Zumindest wenn man nicht unter Zeitdruck ist, und/oder es privat macht (die Firma hat auch meist keine Freude wenn man anfängt irgendwas selbst zu implementieren, was es auch fertig gegeben hätte, noch dazu wenn die fertige Variante gut und gratis ist). Sobald es das Thema Thrading betrifft sehe ich die sache aber wie gesagt ganz anders.
Ich moechte meine Anwendungen moeglichst auch auf anderen Rechnern uebersetzen. Dort ist Boost meist nicht verfuegbar, pThreads schon (zumindestens unter Linux).
Boost ist bei den meisten Linux Distros mit dabei, und funktioniert auf vielen Plattformen (auch mit "nicht Mainstream CPUs").
Falls Boost.Thread wirklich nicht verfügbar sein sollte ist das natürlich ein gutes Argument. Für deine Anwendunge.
Allerdings kein gutes Argument sich allgemein gegen Boost.Thread auszusprechen.
Und: PTHREADS vorauszusetzen halte ich für wesentlich schlimmer, als Boost.Thread vorauszusetzen. Schon alleine weil PTHREADS das K.O. für Windows bedeutet.
Boost ja "overkill" ist?
Subjektiv ...
Pfuh. Was genau an Boost.Thread ist für dich Overkill?