Multithreading or Light-weight processes ?
Light-weight processes are far more secure than threads in the sense they don't share memory and thus avoid a whole host of problems associated with it.
IMO, they are also easier to work with (while programming); I find the message-passing IPC model simpler and more manageable.
Additionally when it comes to parallel computing; even there light-weight processes are a win-win scenario. There's no need for complex algorithms that manage shared memory between CPUs when each CPU can be assigned 1/more L.W.-processes and they all interact by message passing.
I think on a well designed OS, L.W.-procs should be as efficient as threads.
Some applications like Google Chrome already use L.W.-procs (for each tab the user opens a seperate process is launched). It surprises me that a lot more people don't use it already, given its many advantages.
Which model of multitasking do you think is better? (especially in terms of programmer efficiency)