On 22 May 2006, at 1:46 PM, Matt Goodall wrote:
Michael Bayer wrote:
[snip snip snip]
My comment on Myghty was meant as nothing more than a comment on how
hard it is to know **for sure** in **any library** that there are no
thread-related problems left.
not sure if youre saying "event based
systems are harder to write if they use threads", or if "threaded
programming is harder than non-threaded event-based programming". if
the latter id say its a matter of what youre used to.
What I really meant is that threaded programs are harder to debug and
harder to "prove" correct.
On a semi-related note EA Lee has a tech report
(http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.html (via
http://lambda-the-ultimate.org/node/1481)):
"Threads are a seemingly straightforward adaptation of the dominant
sequential model of computation to concurrent systems. Languages
require little or no syntactic changes to support threads, and
operating systems and architectures have evolved to efficiently support
them. Many technologists are pushing for increased use of
multithreading in software in order to take advantage of the predicted
increases in parallelism in computer architectures. In this paper, I
argue that this is not a good idea. Although threads seem to be a small
step from sequential computation, in fact, they represent a huge step.
They discard the most essential and appealing properties of sequential
computation: understandability, predictability, and determinism.
Threads, as a model of computation, are wildly nondeterministic, and
the job of the programmer becomes one of pruning that nondeterminism.
Although many research techniques improve the model by offering more
effective pruning, I argue that this is approaching the problem
backwards. Rather than pruning nondeterminism, we should build from
essentially deterministic, composable components. Nondeterminism should
be explicitly and judiciously introduced where needed, rather than
removed where not needed. The consequences of this principle are
profound. I argue for the development of concurrent coordination
languages based on sound, composable formalisms. I believe that such
languages will yield much more reliable, and more concurrent programs."
Not that this solves the problem but at least you know you're not alone
:-)
-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Sqlalchemy-users mailing list
Sqlalchemy-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users