Training, Open Source Programming Languages

This is page http://www.wellho.net/mouth/3040_Doi ... reads.html

Our email: info@wellho.net • Phone: 01144 1225 708225

 
For 2023 (and 2024 ...) - we are now fully retired from IT training.
We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.

Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!

I am also active in many other area and still look after a lot of web sites - you can find an index ((here))
Doing several things at the same time - Java threads

If 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
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 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).

© WELL HOUSE CONSULTANTS LTD., 2024: 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
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: Sun Oct 11 16:07:41 2020 • BUILD SYSTEM: JelliaJamb