• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Deadlocks
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Deadlocks


  • Subject: Re: Deadlocks
  • From: Chuck Hill <email@hidden>
  • Date: Thu, 6 Sep 2007 10:01:48 -0700


On Sep 5, 2007, at 6:47 PM, Matthew W. Taylor wrote:


"If virtue can't be mine alone at least my faults can be my own." - Piet Hein

:-)


Deadlocks in WebObjects have always been my own fault. I'm thankful to
Andrew Lindesay's HOWTO. It's a super easy process -- and saves my bacon
from my own carelessness.


From: Steven Mark McCraw <email@hidden>
Date: Wed, 5 Sep 2007 20:22:42 -0400
To: Chuck Hill <email@hidden>
Cc: "WebObjects (Group)" <email@hidden>
Subject: Re: Deadlocks

Is it easy? Or is that just the nature of the concurrency beast?

I consider it easy because I've had to deal with it so many times. I think WebObjects seems worse than a normal multithreaded app because things you do that are totally unrelated to concurrency from the programmer's point of view can cause you deadlock.

Deadlocks sure are frustrating. In my opinion WO locks are only more
noticeable than other web app environments, because, in classical WO
programming, you've only got one channel to the DB per application. Lock
that up -- and the rest of the app is toast.

That is usually more of a scarce resource contention problem than true deadlocking - unless you take out a lock on say a DB context and don't unlock it. But that is a good point and something that people stumble over. I don't know if there is a practical fix for this. Making EOF truly multi-threaded would be a duanting task.



Other programming environments
might suffer less by having more avenues to the data. You might be equally
guilty of poor practice in those environments but possibly not even notice
it. Instead you reboot your app when it slows to a crawl, or runs out of
descriptors, blaming it on Java.

Grin.


It's nice that so
much of the concurrency-handling misery you would ordinarily have to
think about with multithreaded applications is hidden from you, but
when it goes wrong, it is the height of confusion.

Well when we see that copy of open-source WO, "Real Soon Now (tm)." we can
all say what confusion?

I trust you have not been holding your breath. ;-)

Chuck


--

Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/products/practical_webobjects






_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >Re: Deadlocks (From: "Matthew W. Taylor" <email@hidden>)

  • Prev by Date: WOImage escaping problem
  • Next by Date: Re: WOImage escaping problem
  • Previous by thread: Re: Deadlocks
  • Next by thread: MySQL with EOModeler (can it call a sproc)?
  • Index(es):
    • Date
    • Thread