package test; public class HelloWorldRunnable implements Runnable{ public static void main(String[] args) { HelloWorldRunnable helloWorld1 = new HelloWorldRunnable(); HelloWorldRunnable helloWorld2 = new HelloWorldRunnable(); HelloWorldRunnable helloWorld3 = new HelloWorldRunnable(); Thread thread1 = new Thread(helloWorld1); Thread thread2 = new Thread(helloWorld2); Thread thread3 = new Thread(helloWorld2); thread1.start(); System.out.println("============thread1===================="); System.out.println("ID: "+thread1.getId()); System.out.println("Name: "+thread1.getName()); thread2.start(); System.out.println("============thread2===================="); System.out.println("ID: "+thread2.getId()); System.out.println("Name: "+thread2.getName()); thread3.start(); System.out.println("============thread3===================="); System.out.println("ID: "+thread3.getId()); System.out.println("Name: "+thread3.getName()); } @Override public void run() { System.out.println("hello world!"); } }
输出为:
============thread1====================
ID: 8
Name: Thread-0
hello world!
============thread2====================
ID: 9
Name: Thread-1
============thread3====================
ID: 10
Name: Thread-2
hello world!
hello world!
稍微注意一下就会发现每次执行的结果都可能不同!
2,以继承Thread类的方式创建新的线程。
package test; public class HelloWorldThread extends Thread{ public static void main(String[] args) { HelloWorldThread thread1 = new HelloWorldThread(); HelloWorldThread thread2 = new HelloWorldThread(); HelloWorldThread thread3 = new HelloWorldThread(); thread1.start(); System.out.println("============thread1===================="); System.out.println("ID: "+thread1.getId()); System.out.println("Name: "+thread1.getName()); thread2.start(); System.out.println("============thread2===================="); System.out.println("ID: "+thread2.getId()); System.out.println("Name: "+thread2.getName()); thread3.start(); System.out.println("============thread3===================="); System.out.println("ID: "+thread3.getId()); System.out.println("Name: "+thread3.getName()); } @Override public void run() { System.out.println("hello world!"); } }
输出的结果为:
============thread1====================
hello world!
ID: 8
Name: Thread-0
============thread2====================
ID: 9
Name: Thread-1
hello world!
============thread3====================
hello world!
ID: 10
Name: Thread-2