Threads in Java:
It is often the case that you would like a program to be able  to do more than one thing at a time. You might, for example, want to monitor the keyboard for a key being pressed by a user  and,  at the same time, track the movement of the mouse by the user  and  repaint the screen. Each  of these tasks can  be  thought  of as  a single  thread in a program. These threads all exist in the same executing environment and  so are  not the same as different  programs. They are  separate activities  within a program, each of which has  a beginning and  an end.  So far, all of the programs that you have  written have  had  only one  thread in them  and  this has  been the thread started by the main method. For example, in the ball and  paddle game, the control  of the paddle and  the movement of the ball were  competing for the computer's resources and  this gave the game a jerky action.  What we would really have  liked to do is have  the paddle control and  the ball motion working independently of each other. We can  achieve this by making each of these tasks into a thread. Each  of these threads can  then  be  running simultaneously, each being between their start  and  finish at any point in time. Threads are not the actual static code itself but rather  they are the dynamic process of executing that code.
The concepts surrounding the use  of threads are  a very important  part  of large-scale programming and  are  concerned with an area of computer science known as concurrent systems. Briefiy, a concurrent system consists of a collection  of separate activities  or tasks that are  simultaneously at some stage between their starting and finishing  point. There  is, of course, a great deal  more  to say  about concurrent systems but this simple  definition  will suffice  here.
Java provides a great deal  of support to the creation of such  independent activities  or tasks. Each  task  is made into a thread and  on a multiprocessor computer, each thread can  truly run at the same time as all of the other threads (up to the number of processors available, of course). However,  on a single-processor computer, the CPU can  carry  out only one set of instructions at a time. In this situation the threads share the CPU, and  the operating system will allocate small blocks of time to each thread. This gives  the illusion to each thread that it has  sole  access to the CPU.
As well as making programs more responsive, threads can  also be very useful in making use  of the times when a processor is idle because it is waiting for something to happen.
Examples of this are as follows:
- a program waiting for the user to key in some characters from a keyboard;
- a program awaiting the retrieval of data from a disk drive, a mechanical device that can take many milliseconds to carry out its work;
- the delay that occurs when the frames of an animation are being loaded.
Threading is an approach to sharing the resources of a computer in such  a way that when  a particular thread can  no longer  continue executing or when  it has  used up its allocated block  of time, another thread can  begin executing. When this thread is held up,  another thread - perhaps even  the one  that was  originally held  up - can  be executed.
So threads allow programs to give the impression of being able  to do many  things simultaneously and  also enable the program to make  best use of the CPU resources that are  available.
 
Java Assignment Help - Java Homework Help
Struggling with java programming language? Are you not finding solution for your Threads in Java homework and assignments? Live Threads in Java experts are working for students by solving their doubts & questions during their course studies and training program. We at Expertsmind.com offer Threads in Java homework help, java assignment help and Threads in Java projects help anytime from anywhere for 24x7 hours. Computer science programming assignments help making life easy for students.
Why Expertsmind for assignment help
- Higher degree holder and experienced experts network
- Punctuality and responsibility of work
- Quality solution with 100% plagiarism free answers
- Time on Delivery
- Privacy of information and details
- Excellence in solving java programming language queries in excels and word format.
- Best tutoring assistance 24x7 hours