
Home
|


JAVA PROGRAMMING
Introduction to thread
Objects provide a way to divide a program up into
independent sections. Often, you also need to turn a program into
separate, independently-running subtasks.
Each of these independent subtasks is called a
thread, and you program as if each thread runs by itself and has the CPU
to itself. Some underlying mechanism is actually dividing up the CPU time
for you, but in general, you don't have to think about it, which makes
programming with multiple threads a much easier task.
Some definitions are useful at this point. A process is a self-contained
running program with its own address space. A multitasking operating
system is capable of running more than one process (program) at a time,
while making it look like each one is chugging along by periodically
providing CPU cycles to each process. A thread is a single sequential flow
of control within a process. A single process can thus have multiple
concurrently executing threads.
There are many possible uses for multithreading, but
in general, you'll have some part of your program tied to a particular
event or resource, and you don't want to hang up the rest of your program
because of that. So you create a thread associated with that event or
resource and let it run independently of the main program. A good example
is a "quit" button - you don't want to be forced to poll the
quit button in every piece of code you write in your program and yet you
want the quit button to be responsive, as if you were checking it
regularly. In fact, one of the most immediately compelling reasons for
multithreading is to produce a responsive user interface.
|
 |