Re: Linux tcp/ip code has trouble with async network I/O notification,u

Chris Wedgwood (chris@cybernet.co.nz)
Fri, 4 Sep 1998 09:18:57 +1200


On Thu, Sep 03, 1998 at 08:44:47AM -0600, Erik Andersen wrote:

> Yea sure. BeOs uses different threads for everything from every
> window on the screen to just about every function in libc, and it
> is very fast and scales extremely well across multiple CPUs. For
> every example there is a counter-example.

Presumably the BeOS people are reasonable cluefull - if they weren't,
as somebody else pointed out, BeOS would be full of deadlocks.

> If your point is that threads are easily used poorly, you could as
> easily argue that the C programming language is easy to use badly,
> point out some of the huge numbers of bad C programs and
> programmers, and determine that nobody should program in C.

True - C leads to lots of poor programming, but then again, C has
been around longer (in the mainstream) and its pitfalls are probably
more widely known. C has also evolved is ways to help reduce common
errors, whereas main-stream thread implementations don't seem to
have.

> A good tool that is hard to use is still a good tool for those who
> know how to use it. Masters write good code, and beginners write
> crap. Compare the work of masters of related paradigms to compare
> on an equal basis.

No doubt about it, threads used by cluefull people are very useful,
but as you say, beginnings write crap, and thread crap is much harder
to fix up that non-threaded crap, and fails in more subtle complex
ways.

I've been through this - I've had other people write code and then
had to fix it and maintain it, and poorly written threaded code is
very hard to work with, more so that poorly written non-threaded
code.

-cw

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html