вторник, 16 ноября 2010 г.

"Threadsafe" is an oxymoron

DRH in sqlite-users:

If nothing else, this entire discussion should make it abundantly clear that
threads are a very dangerous construct and should be actively avoided in all
software that strives to be robust and/or reliable. People rant and rail
about the evils of "goto" or pointers, and to be fair, those constructs are
easily misused. But threads are a far more insidious evil in that they are
non-deterministic: the failures happen differently on each run, or perhaps
not at all until the product goes into production.

Understand this: Any programming language that is built around threads is
inherently broken and should be avoided. (I will not name names - you know
the languages I'm talking about.) And any operating system that depends
upon threads for performance is equality busted and should also be shunned.

"Threadsafe" is an oxymoron. Nothing is safe when threads are in play.
There are merely differing levels of hazard.

(C) Alexey Pechnikov aka MBG, mobigroup.ru