Computer History Notes - Herong's Tutorial Notes - v3.13, by Herong Yang
Java Supports Multi-Threading Programming
This section provides a quick demonstration of the multi-threading programming support in Java language.
Java supports multithreading (concurrency) programming. Multiple threads of executions can be initiated and synchronized in a single Java application. All threads in a single application share the same set of resources.
What Is Multi-Threading Programming? Multi-treading programming is the ability of writing a single application that can execute multiple sections of codes simultaneously.
Here is a sample Java program showing you two threads are executed simultaneously:
/* ThreadDemo.java
* Copyright (c) 2003 HerongYang.com. All Rights Reserved.
*/
import java.util.*;
class ThreadDemo {
public static void main(String[] args) {
Thread wordGenerator = new WordThread();
wordGenerator.start();
Thread numberGenerator = new NumberThread();
numberGenerator.start();
}
static class WordThread extends Thread {
public void run() {
while (true) {
Random generator = new Random();
int size = 3 + generator.nextInt(5);
String value = "";
for (int i=0; i<size; i++) {
int d = generator.nextInt(26) + 'a';
value += (char) d;
}
System.out.println("Word Thread: "+value);
try {
sleep(1000);
} catch (InterruptedException e) {
}
}
}
}
static class NumberThread extends Thread {
public void run() {
while (true) {
Random generator = new Random();
int size = 3 + generator.nextInt(5);
long value = 0;
for (int i=0; i<size; i++) {
int d = generator.nextInt(10);
value = value*10 + d;
}
System.out.println("Number Thread: "+value);
try {
sleep(1000);
} catch (InterruptedException e) {
}
}
}
}
}
If you run this Java sample program, you will get output similar to this:
java ThreadDemo Word Thread: cjsdlen Number Thread: 64845 Word Thread: ldyb Number Thread: 92076 Word Thread: gari Number Thread: 114 Word Thread: mjjieu Number Thread: 2876 Word Thread: xfsrq Number Thread: 66858 Word Thread: cfs Number Thread: 35258 Word Thread: urpfi Number Thread: 4120008
Table of Contents
2002 - .NET Framework Developed by Microsoft
1995 - PHP: Hypertext Preprocessor Created by Rasmus Lerdorf
►1995 - Java Language Developed by Sun Microsystems
Java Compilation and Execution Processes
Java Is an Object-Oriented Language
Java Supports Automatic Garbage Collection
►Java Supports Multi-Threading Programming
1991 - WWW (World Wide Web) Developed by Tim Berners-Lee
1991 - Gopher Protocol Created by a University of Minnesota Team
1984 - X Window System Developed a MIT Team
1984 - Macintosh Developed by Apple Inc.
1983 - "Sendmail" Mail Transfer Agent Developed by Eric Allman
1979 - The Tcsh (TENEX C Shell) Developed by Ken Greer
1978 - Bash (Bourne-Again Shell) Developed by Brian Fox
1978 - The C Shell Developed by Bill Joy
1977 - The Bourne Shell Developed by Stephen Bourne
1977 - Apple II Designed by Steve Jobs and Steve Wozniak
1976 - vi Text Editor Developed by Bill Joy
1974 - Internet by Vinton Cerf
1972 - C Language Developed by Dennis Ritchie
1971 - FTP Protocol Created by Abhay Bhushan
1970 - UNIX Operating System Developed by AT&T Bell Labs