Home Accessibility Courses Twitter The Mouth Facebook Resources Site Map About Us Contact
Python, Lua, Tcl, C and C++ training - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Java, Ruby, MySQL and Linux / Tomcat systems
Doing several things at the same time - Java threads

Traffic control lights for horsesIf you have a program that you want to do several tasks at the same time, you can use threads (in Java). You create a runnable object through a constructor, start it when you want it to start and stop it when you want it to stop. And it runs in parallel with (in reality time shared with) other threads in the same process.

There's a first example [here] which extends the Thread classi. But very often, you'll want to be able to extend another class too, and won't want to use up your valuable single inheritance that's allowed in Java, so instead you can implement runnable. Example [here].

Sometimes, you'll want threads to run independently of each other but at other times you'll need them to co-operate to share something - for example, a web server such as Tomcat my be independently serving two users, running different programs, at the same time each may need to write a note of what it's done to a common log file. If you just allow the writing to happen without any consideration of other processes that might be writing to the same output file, you'll end up with the outputs getting mixed up within each log record, and the log file will be an unusable mess. There's an example showing that [here]. However, if you syncronize each thread to the object, they'll wait for the object to become available and use it one at a time. Example [here].

As each new thread waits for the resource / object to be available to it, heavy syncronisation can result in a significant loss of throughput for your application. You should take care not to hold onto a resource for longer than necessary - if you do, then it will be rather like having you queueing at the traffic lights long after all the pedestrians have crossed and the traffic on the other roads has cleared.

(written 2010-11-10)

Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
J804 - Java - Threads
  [2212] Dripping taps, Java threads and the single thread model - (2009-06-01)

Back to
Fresh Paint - Java Arrays
Previous and next
Horse's mouth home
Forward to
Java - basic rules for arithmetic, variables and conversion
Some other Articles
Changing a Servlet - more that just editing and compiling
Gathering information - logging - with log4j. First steps.
Least Common Ancestor - what is it, and a Least Common Ancestor algorithm implemented in Perl
Java - basic rules for arithmetic, variables and conversion
Doing several things at the same time - Java threads
Fresh Paint - Java Arrays
Setting up individual variables, and arrays, in Java - some commented examples
Looking back and forward personally - 6 years each way
Sending out an email containing HTML from within a PHP page
How to display information from a database within a web page
4750 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 at 50 posts per page

This is a page archived from The Horse's Mouth at http://www.wellho.net/horse/ - 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).

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2017: 404 The Spa • Melksham, Wiltshire • United Kingdom • SN12 6QL
PH: 01144 1225 708225 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/3040_Doi ... reads.html • PAGE BUILT: Sat May 27 16:49:10 2017 • BUILD SYSTEM: WomanWithCat