如何创建Java线程(创建线程的Java示例)?

线程是轻量级进程。进程是一个完整的程序,而线程是一个小任务,可能独立也可能不独立。每个Java程序都包含一个负责执行main方法的主线程.Threads基本用于异步任务,该异步任务用于后台处理并使用多任务处理的概念。

在Java中,可以通过两种方式创建线程:

  1. 通过扩展Thread类

  2. 通过实现Runnable接口

1)通过扩展Thread类创建线程的程序

在这个程序中,一个叫newThread类扩展Thread类,这是一个内置的Java类的具有类似功能run()stop()start()destroy()等。该启动方法将newThread类的对象上被调用。根据逻辑,该线程将继续运行10000次。

class newThread extends Thread{
	private int threadid;
	//这是一个在线程中接受参数的构造函数
	public newThread(int id) 
	{ 
		//这里threadid将是1-
		threadid = id; 
	}
	public void run() {
		/*run() method is responsible for running a thread ,all the programming logic will
		be contain by this thread i.e what u want your thread to do */
		for(int i=0; i<10000 ; i++) {
			System.out.println(threadid + " : " + i);
		}
	}
}

public class CreateThreadByExtending {
	public static void main(String[] args) {
		//创建newThread类的对象并发送1作为参数
		newThread thread1=new newThread(1);
		//start()函数用于启动线程 
		thread1.start();
	}
}

输出结果

1 : 0
2 : 1
3 : 2
4 : 3
upto 9999

2)程序通过实现Runnable接口创建线程

在此程序中,名为newThread1的类实现了Runnable接口,该接口是Java的内置接口。这里将创建一个类newThread1的对象,并将该对象传递给Thread类以调用run方法,这是因为newThread1类的对象将不被视为Thread对象。

class newThread1 implements Runnable{
	
	public void run() {
		/*run() method is responsible for running a thread ,all the programming logic will
		  be contain by this thread i.e what u want your thread to do */
		System.out.println("Thread is running.........");
	}
}
public class CreateThreadByImplementing {
	public static void main(String[] args) {
		//创建一个newThread类的对象
        newThread1 m1=new newThread1();
        /*as class newThread class doesn't extend Thread class ,therefor its object will not be consider as
        thread object.We need to explicitily call Thread class object and passing the object of newThread class
        that implements runnable so run() method will be executed.*/
        Thread t1 =new Thread(m1);  
        //启动线程
        t1.start(); 
	}
}

输出结果

Thread is running.......