std.experimental.logger formal review round 3
Sean Kelly via Digitalmars-d
digitalmars-d at puremagic.com
Sun Oct 5 10:06:05 PDT 2014
On Thursday, 2 October 2014 at 10:37:02 UTC, Kevin Lamonte wrote:
>
> Would PR
> https://github.com/D-Programming-Language/phobos/pull/1910
> provide a way given a Tid to determine: a) What underlying
> concurrency model it is using (Thread, Fiber, process, future)?
> b) Uniquely identify that structure (Thread ID string, Fiber
> address string, process ID, something else)? c) Be capable of
> using that identifying immutable (because it needs to be
> send()able to another Tid writing to network/file/etc)
> string-representable thing to find the original Tid again? A+B
> is necessary for using std.logger to debug concurrent
> applications, C is a very nice-to-have that comes up
> periodically.
register() is meant to provide a means of referring to a thread.
But the relevant thing there is finding a thread by role, not by
instance. So if a thread doing a known job terminates, a new one
can spawn and register under the same name so proper operation
can continue. Having an identifier for logging is a bit
different. Would using the MessageBox address be sufficient?
I'd be happy to add a Tid.id property that returns a value like
this. I'd rather not try to generate a globally unique
identifier though (that would probably mean a UUID, which is long
and expensive to generate).
More information about the Digitalmars-d
mailing list