Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #3014

Re: Threads and statics

From Lew <noone@lewscanon.com>
Newsgroups comp.lang.java.programmer
Subject Re: Threads and statics
Date 2011-04-09 13:06 -0400
Organization albasani.net
Message-ID <inq3m6$4cg$1@news.albasani.net> (permalink)
References <905p9gFpuoU1@mid.individual.net> <inlnjn$6c1$1@dont-email.me> <deadlocks-20110409180331@ram.dialup.fu-berlin.de> <inq0m4$429$1@dont-email.me> <resources-20110409182133@ram.dialup.fu-berlin.de>

Show all headers | View raw


Stefan Ram wrote:
> Daniele Futtorovic writes:
>> That's a tautology. But there *are* cases where you need exclusive
>> access to more than one resource at the same time.

>    Inventing freely without knowledge, I would first try to pack
>    such resources into a single »meta resource«, which then can
>    be obtained or released by a single atomic action, again.

>> The very fact that multi-threaded programs exists proves one
>> can avoid deadlocks in such cases -- no need to look any
>> further.

>    Then, the existence of erroneous programs would prove what?
>
>    For the meaning of the verb »prove« in software engineering,
>    see for example this report:
>
> http://machineslikeus.com/news/building-safety-nets-critical-systems
>
>    .

The book /Java Concurrency in Practice/ (informally, JCIP) by Goetz, et al., 
shed light on these issues for me.

If there is a well-defined order of acquisition for multiple locks, you can 
avoid deadlock.  Trouble arises when acquirers act in different sequence, 
e.g., one grabs A then B, whilst another grabs B then A.

One lock for multiple resources is another pattern in the book.  It goes into 
detail on how to reason about such scenarios.

-- 
Lew
Honi soit qui mal y pense.
http://upload.wikimedia.org/wikipedia/commons/c/cf/Friz.jpg

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Threads and statics Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2011-04-07 13:34 +0100
  Re: Threads and statics Patricia Shanahan <pats@acm.org> - 2011-04-07 05:41 -0700
    Re: Threads and statics Robert Klemme <shortcutter@googlemail.com> - 2011-04-07 07:38 -0700
      Re: Threads and statics Lew <lew@lewscanon.com> - 2011-04-07 08:20 -0700
        Re: Threads and statics Arved Sandstrom <asandstrom3minus1@eastlink.ca> - 2011-04-07 18:47 -0300
  Re: Threads and statics markspace <-@.> - 2011-04-07 09:32 -0700
  Re: Threads and statics Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-04-07 21:14 -0400
    Re: Threads and statics Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2011-04-09 18:15 +0200
      Re: Threads and statics Lew <noone@lewscanon.com> - 2011-04-09 13:06 -0400
    Re: Threads and statics Patricia Shanahan <pats@acm.org> - 2011-04-09 09:29 -0700
    Re: Threads and statics Peter Duniho <NpOeStPeAdM@NnOwSlPiAnMk.com> - 2011-04-09 09:29 -0700
    Re: Threads and statics Eric Sosman <esosman@ieee-dot-org.invalid> - 2011-04-09 14:57 -0400
      Re: Threads and statics "Mike Schilling" <mscottschilling@hotmail.com> - 2011-04-10 23:10 -0700
        Re: Threads and statics Tom Anderson <twic@urchin.earth.li> - 2011-04-11 13:25 +0100
          Re: Threads and statics Lew <noone@lewscanon.com> - 2011-04-11 08:58 -0400

csiph-web