M
Martin Cracauer
Guest
mikeblas said:Synchronization bugs already happen. Consumer software that abuses threads (Pinnacle Studio 7 and Studio 8 are great examples) are abundant.
There are also driver-level problems; fortunately, dual-proc systems have already tought some companies lessons about building and testing multi-threaded software.
Funny thing is, synchronization isn't a new thing. It's just that PC-class developers think they don't need to know about it.
If you start actually looking at it, I think you'll be surprised at how many applications you use that are already multi-threaded.
Well, so far many high-performance applications use event loops now, most notably games. They wil have to change to a threaded model and they have neither experience doing do nor will they just re-write 3D engines. There will be a good mess with more or less unrelated threads tagged onto a main thread running the event loop that the previous incarnation of the engine had.
That is a receipe for a lot of hangs on the user's part. I am generally amazed how reliably many games run right now, I guess that party will be on pause for 5 years or so.
Many heavy-I/O applications use dispatching file descriptor events and fork entire processes or use asynchronous I/O, both of them are quite safe against deadlocks. Here, too, will we see unhappy campers.