Step 1 of 3: About Java Threads

Introduction

   Java is rapidly being adopted as one of the preferred languages for writing distributed applications due to its excellent support for programming on distributed platforms. Concurrent with the emergence of Java, as a preferred language for distributed programming, has been the emergence of networks of workstations, as a preferred platform for distributed computation. 

   The primary reason workstation clusters have become so important is the excellent price/performance ratio of such systems, when compared to traditional massively parallel multi-computers. It is thus natural to explore approaches by which Java can be used to form a virtual parallel machine, using ordinary networks of workstations. 

   A thread is a sequential program , having a beginning and an end as in a normal sequential program. It has various execution paths and performs various activities, either related or unrelated, concurrently. Threads are also called "Lightweight Processes".  It is called 'Lightweight', as it run within a complete program, and 'Process' because it has to use its own resources like User Stack, Kernel Stack , program counter etc.