Re: To thread or not to thread ?
JohnQ wrote:
"James Kanze" <james.kanze@gmail.com> wrote in message
news:1168779751.471598.149810@a75g2000cwd.googlegroups.com...
Le Chaud Lapin wrote:
JQP wrote:
Le Chaud Lapin wrote:
Well that could be put into a thread class (orderly shutdown). Indeed
that would be a reason to wrap the platform abstraction. But yes, other
threading things like locks are the obvious ones to wrap up (one of
mine is called AutoLock which wraps a mutex).
Yep. My thread class includes as part of its design a mechanism for
orderly shutdown. I would not be surprised if the code is the same.
Interesting. Orderly shutdown is one of the things I've not
found in Windows threads. TerminateThread is not an equivalent
of pthread_cancel.
No one said TerminateThread was being used for "orderly shutdown". Obviously
it is "violent" termination of a thread.
I know. That's what the documentation says. So what do you
use? I couldn't find anything like pthread_cancel in the
Microsoft documentation.
Note that orderly shutdown requires collaboration from the
thread.
Yes, some kind of "unblocking function" for blocking threads or a flag for
looping threads or...
I'm not sure that it will make it into the standard; in
fact, I rather doubt it will, precisely because there is no
accepted standard way of achieving it.
Well not in every case, but in certain scenarios there are.
In individual cases, it's generally possible to provide an
application specific solution. Which involves using time-outs
and such, because there is no clean way of interrupting a
blocked thread.
But at that high
level, maybe the standard does not belong anyway because it's getting to far
into the application-specific design and "personal preference" category.
At the lowest level, it would be nice to have a standard
function to "unblock" the thread, so that you don't need
timeouts and polling.
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orient?e objet/
Beratung in objektorientierter Datenverarbeitung
9 place S?mard, 78210 St.-Cyr-l'?cole, France, +33 (0)1 30 23 00 34
--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]