Linked by Thom Holwerda on Sun 9th Sep 2007 18:08 UTC, submitted by koki
Thread beginning with comment 269945
To view parent comment, click here.
To read all comments associated with this story, please click here.
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[5]: Writing multithreaded applications in C++
by TQH ! on Mon 10th Sep 2007 13:31
in reply to "RE[4]: Writing multithreaded applications in C++"
So just because you had problems with third party apps crashing it's bound to be because of multithreading?
Ownership and garbage-handling, even with a garbage collector, is something you should always know and handle. For instance if you keep just one ref to an object it will most likely never be garbage-collected.




Member since:
2006-03-01
I was a big fan of BeOS way back. I even wrote some programs for it: http://www.gamemakers.de/tools4b/ . But while BeOS itself was pretty solid for me, I often had stability problems with third party apps.
IMHO the only way to make multithreaded programming acceptable for mere mortals is to have higher level synchronization primitives. Message passing is obviously one way to achieve this. The BeOS people knew that, so they made many of their APIs use message passing.
But writing a message handler in C++ is just a pain. First of all, you need to have strict rules for the ownership of the objects contained in the message. Otherwise you have a memory leak or a double free bug. Then you need to manually decompose the messages. The list goes on and on.