File APIs for Java Developers
The moose likes Beginning Java and the fly likes multithreaded programming Big Moose Saloon
Register / Login

JavaRanch » Java Forums » Java » Beginning Java
Bookmark "multithreaded programming" Watch "multithreaded programming" New topic

multithreaded programming

nitinram agarwal
Ranch Hand

Joined: Jan 29, 2009
Posts: 90
as per my understanding, multithreaded programming makes sense only for multi processor environment? but I think there is more.
can someone throw some more light on this?
Sateesh.B Kumar

Joined: Sep 05, 2007
Posts: 6
Multithreaded programming has uses even when you are running the application on a single threaded environment. Some of the examples I am aware of are :

a. GUI programming. Say you click on a button on GUI and it triggers a background process that would take some time to complete. With multithreading the background task can be done in a separate thread and GUI can be responsive to user inputs. Without multithreading in such cases the GUI would appear frozen to the user

b. Webserver: Webservers typically serve a lot of requests, and it can span a new thread to service a request and the main thread can continue
to wait for any new incoming requests.
Rob Spoor

Joined: Oct 27, 2005
Posts: 20049

Multi threaded programming is useful in any situation where you need a background process to run. User interfaces need multiple threads anytime a long task is running, or the entire user interface freezes. And how about scheduled jobs, these use different threads as well.

If you split one large task into several smaller subtasks and run these in parallel you can actually decrease performance when you are not in a multi processor environment. For instance calculating the sum of a large int array (pseudo code):
If any processor gets more than one job then the overhead of context switching when another thread becomes active will cause a performance decrease.

How To Ask Questions How To Answer Questions
I agree. Here's the link:
subject: multithreaded programming
It's not a secret anymore!