>>2
Me. As evidenced by the fact that so many of them do it so poorly.
Name:
Anonymous2014-03-30 0:34
Programs with interdependent asynchronous parts increase complexity and make debugging harder.
This can be mitigated somewhat with good design and synchronization. But it can still be incredibly challenging, especially when using languages with poor concurrency support, and when working on high performance applications that require large amounts of data sharing between threads or where synchronization performance hits need to be minimized.
Name:
Anonymous2014-03-30 0:47
Resource blocking leading to resource starvation
Lock contention limits scalability and adds complexity.
Priority inversion. High priority threads/processes cannot proceed, if a low priority thread/process is holding the common lock.
Balances between lock overhead and contention can be unique to given problem domains (applications) as well as sensitive to design, implementation, and even low-level system architectural changes. These balances may change over the life cycle of any given application/implementation and may entail tremendous changes to update (re-balance).
Name:
Anonymous2014-03-30 4:48
You haven't tasted real programmer tears until you've had to fix race conditions or other difficult to reproduce bugs in complex threaded applications.
Name:
Anonymous2014-03-30 6:57
It really isn't hard if you use HASKELL.
Name:
Anonymous2014-03-30 7:58
>>6
Deporting the niggers would prevent race conditions.
Name:
Anonymous2014-03-30 8:29
thread my anus
Name:
Anonymous2014-03-30 11:52
>>5
You just vomited the syllabus for my OS course