Hallo! Am Dienstag, 11. August 2009 schrieb Emanoil Kotsev: > Markus Raab wrote: > > We are a austrian usergroup and so the language on this mailinglist is > > normaly german, but english is ok too. > > Ich war im falschen Thread als ich geposted habe. Ich wollte auf die > debian-user list posten, was ich auch nachher gemacht habe.
Achso, kein Problem :-) Im September bin ich dann wieder in Wien, du kannst dann gerne mal bei Debienna vorbeikommen und wir können das diskutieren. > Es ist eine interessante Diskussion entstanden - ich habe Einiges gelernt > und vor allem erfahren, welche die üblichen Wege sind. Hab sie gerade durchgelesen. > Ich habe vor allem in perl und C bis vor ein paar Jahren programmiert. Doch > letzter Zeit denke ich mehr objekt-orientiert (wegen der perl modularität) > und habe versucht einige sachen mit c++ zu machen, also habe ich mich > gefragt, wie man sowas (threaded) in C++ schreiben würde. In C ist's mir > klar. Threads werden auch in Objekte gepackt. Wesentlich wichtiger sind allerdings die anderen Concurrency-Eigenschaften bzw. wie man sie steuern kann. Da hilft das Scoping von C++ sehr viel um nie zu vergessen alle Locks auch wieder freizugeben (Schlagwort: Ausnahmesicherheit). > > We are using boost::threads at performous, a great karaoke software: > > http://performous.org/ > > Das Problem mit libboost, wie mit den anderen Vorschlägen (qt, gtkmm) ist > dass sie einen overhead erzeugen würden. Ich hätte ein C++ interface zu > pthreads erwartet (außerhalb von boost). Jammerschade ... Ich würde erwarten, dass es keinen signifikaten Overhead zum direkten Verwenden von pthreads gibt. Templates erzeugen normalerweise genau den Code für die Typen die du verwendest. Die Abstraktion welche Thread implementierung verwendet wird würde ich in Policies erwarten, das ist auch Template Code den der Compiler vollständig auflöst. Oder weißt du mehr darüber? Was genau stellst du dir unter C++ Interface vor? Wenn du keine Kapselung, RAII, Namespaces usw. verwendest würde es ja auch nichts bringen. > Ein Nebeneffekt ist dass threaded apps nicht mühelos portiert werden > können. ICh habe fast das ganze letzte WE damit verbracht, darüber zu lesen > und einige Sachen auszuprobieren. > Ich kenne die boost lib aus einem anderen Projekt, daher würde ich mich > dafür entscheiden. > Wie steht es mit der Portabilität von libboost? libboost macht das grundsätzlich sehr gut, sie haben ausführliche Regression Tests Suites die sie auf einer Unzahl von Compiler/OS Versionen laufen lassen: http://www.boost.org/development/tests/trunk/developer/summary.html bzw. übersicht über testing: http://www.boost.org/development/testing.html Eventuell ist die Portabilität von boost::threads sogar besser als pthreads da sie wohl z.b. unter Windows irgendeine andere Lösung verwenden müssen. Grundsätzlich gefordert wird dass Boost Libraries unter 2 verschiedenen Systemen laufen müssen. Es wird aber natürlich versucht alle Libraries überall laufen zu lassen. Den genauen Status von boost::threads kenne ich jetzt aber nicht. > >> I also couldn't find a user-list for libcsoap, > > > > I tried libcsoap, but most examples did not work, because the soap > > servers were already down or can be used with API key only (e.g. amazon). > > In dem usr-share Ordner finden sich Beispiele für server und client, die > API ist relativ gut dokumentiert und einfach anzuwenden. Das was nur lokal gelaufen ist hat ohne Probleme funktioniert. Falls es dich interessiert, ich habe voriges Semester ein Skriptum über OOP mit C++ geschrieben: http://www.markus-raab.org/About/papers.html#oop mfg Markus _______________________________________________ Debienna mailing list [email protected] http://rerun.lefant.net/cgi-bin/mailman/listinfo/debienna
