Justin Collins
7/28/2006 4:59:00 PM
Eric Armstrong wrote:
> Saw an archived message yesterday that
> said, "when one thread blocks, they all
> block".
>
> That matches my experience. I had a timer
> thread and an interactive-controller
> thread. But no display updates occur
> in the timer thread until the user takes
> an action in the controller thread.
>
> What is the point of the having "threads"
> if they don't allow to use the time that
> would otherwise be spent waiting?
>
> Game programs, interactive timers like
> the one I was working on, and virtually
> any program that really /needs/ threads
> requires non-blocking behavior.
>
> On *nix, I can fork a subsidiary process,
> and that gives me sufficient control for
> a timer app. But on windows, the fork call
> says it is "not implemented".
>
> So what is a windows app supposed to do?
>
This hasn't been my experience at all. Do you have a simple example that
shows this behavior?
I have a program which involves quite a few threads, some waiting on
(multiple) user input, and it works as I would expect (when waiting on
input, it does other stuff). I even have a Timer object that works as
expected. I also use some threads just to get asynchronous function call
behavior.
So I'm a bit confused about your message :)
-Justin