Sunday, August 22, 2010

What is a Thread………

Thread is also called as lightweight process.thread is a single sequential flow of control within a program. All programmers are familiar with writing sequential programs. You’ve probably written a program that displays “Hello World!”, or sorts a list of names, or computes a list of prime numbers. These are sequential programs: each has a beginning, an execution sequence, and an end. At any given time during the runtime of the program there is a single point of execution. Threaded environments like Java allow a thread to put locks on shared resources so that while one thread is using data no other thread can touch that data. This is done with with synchronization. Synchronization should be used sparingly since the purpose of threading is defeated if the entire system gets stopped waiting for a lock to be released. The proper choice of objects and methods to synchronize is one of the more difficult things to learn about threaded programming. Java applications and applets are naturally threaded. The runtime environment starts execution of the program with the main() method in one thread. Garbage collection takes place in another thread. Screen updating occurs in a third thread. There may be other threads running as well, mostly related to the behavior of the virtual machine. All of this happens invisibly to the programmer. Some of the time you’re only concerned with what happens in the primary thread which includes the main() method of a program. If this is the case you may not need to worry about threading at all.

No comments:

Post a Comment