Home Accessibility Courses Diary The Mouth Facebook Resources Site Map About Us Contact
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
or
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
4253 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 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., 2014: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho

PAGE: http://www.wellho.net/mouth/3040_Doi ... reads.html • PAGE BUILT: Sun Mar 30 15:20:58 2014 • BUILD SYSTEM: WomanWithCat