Retiring, March 2020 - sorry, you have missed our final public course.
The Coronavirus situation has lead us to suspend public training - which was on the cards anyway, with no plans to resume
Please ask about private 'maintenance' training for Python, Tcl, Perl, PHP, Lua, etc
Happily continuing private consultancy / programming work
Dripping taps, Java threads and the single thread model
Have you ever lain awake at night and listened to dripping taps. "drip, drip, drip" ... until you eventually fall asleep? With one tap, it's rhythmic, but with two taps the two rhythms get intertwined, and result in an apparently patternless racket. If only one tap would wait for the other, it would sound so much better!
With Java threads - that's where you have several program streams running within the same program - you have a very powerful facility, but also a need co-ordinate when you get to points where a shared resource needs to be used, and that's where you use Java's synchronized
keyword, and you synchronise based on an object.
Threads and synchronisation are used within Tomcat to handle multiple connections at the same time, and they're used very effectively and hidden from the programmer / Java developer. But the Java developer does need to bear in mind that there may be several user all in his code at the same time, and if there's a danger of such users interfering with each other he should consider the single thread model
for his Servlet. In a nutshell, this holds each user of his application at the starting gate until the previous user has completed - it reduces the maximum possible throughput, but on a quiet to medium application, it can make the coding and testing very much easier!
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articlesJ804 - Java - Threads 
Doing several things at the same time - Java threads - (2010-11-10)
Some other Articles
Past Delegate Offer - Summer Holiday / Weekend BreakIf nothing, make it nothing.Global Index to help you find resourcesKeyboard reading in Perl - character by character not line by lineDripping taps, Java threads and the single thread modelTcl/Tk - why does the canvas widget use a display list?MySQL server replicationMonitoring and Tuning your MySQL installationA beautiful coastlineNorth Antrim Coast - a jewel thats well worth a visit
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page
This is a page archived from The Horse's Mouth at
the diary and writings of Graham Ellis.
Every attempt was made to provide current information at the time the
page was written, but things do move forward in our business - new software
releases, price changes, new techniques. Please check back via
our main site for current courses,
prices, versions, etc - any mention of a price in "The Horse's Mouth"
cannot be taken as an offer to supply at that price.
Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).