June 03, 2012 RE: synchronized (this[.classinfo]) in druntime and phobos | ||||
|---|---|---|---|---|
| ||||
Attachments:
| *>From:* mta`chrono <chrono@mta-international.net> >*Sent:* Sunday, June 3, 2012 14:38:31 >*To:* digitalmars-d@puremagic.com >*Subject:* Re: synchronized (this[.classinfo]) in druntime and phobos > > >Am 30.05.2012 11:11, schrieb deadalnix: >> >> D already have much better tools that the one java provide (std.concurency, std.parallelism, TLS by default, transitive type qualifiers, . . .) that most these thing taken from java don't make any sense now. >> >> For instance, what is the point of being able to lock on any object when most of them are thread local ?? > > Right! Locking on non-TLS objects doesn't make sense. Perhaps only shared objects should be synchronizeable and thus contain a monitor / pointer to a monitor. auto thingy = new Thing(); auto sthingy = cast(shared)thingy; As long as we support casting to/from shared, you can’t eliminate the monitor pointer in any object. Sent from my *Windows 8 PC* <http://windows.microsoft.com/consumer-preview> | |||
June 03, 2012 Re: synchronized (this[.classinfo]) in druntime and phobos | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Andrew Wiley | On 04-06-2012 00:00, Andrew Wiley wrote: > *>From:* mta`chrono <chrono@mta-international.net > <mailto:chrono@mta-international.net>> > >*Sent:* Sunday, June 3, 2012 14:38:31 > >*To:* digitalmars-d@puremagic.com <mailto:digitalmars-d@puremagic.com> > >*Subject:* Re: synchronized (this[.classinfo]) in druntime and phobos > > > > > >Am 30.05.2012 11:11, schrieb deadalnix: > >> > >> D already have much better tools that the one java provide > >> (std.concurency, std.parallelism, TLS by default, transitive type > >> qualifiers, . . .) that most these thing taken from java don't make any > >> sense now. > >> > >> For instance, what is the point of being able to lock on any object when > >> most of them are thread local ?? > > > > Right! Locking on non-TLS objects doesn't make sense. Perhaps only > > shared objects should be synchronizeable and thus contain a monitor / > > pointer to a monitor. > auto thingy = new Thing(); > auto sthingy = cast(shared)thingy; > As long as we support casting to/from shared, you can’t eliminate the > monitor pointer in any object. > Sent from my _Windows 8 PC_ <http://windows.microsoft.com/consumer-preview> (And let me just add: As long as shared is as impractical as it is, we shouldn't remove that ability.) -- Alex Rønne Petersen alex@lycus.org http://lycus.org | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply