Java线程的理解

首先区分明白线程和进程的概念:

进程: 是系统运行程序的基本单位,因此进程是动态的.通俗的将,一个进程就是一个正 在执行的一个程序.
线程:执行进程的最小基本单元,一个进程中会有多个线程.
多线程:几乎在同一时间执行多个线程;实质上,在同一个处理器中多线程本质仍是单线程.真正意义实现多线程需要多个处理器同时执行
多线程就是在分时利用CPU

实现多线程并且启动的两种方法

1.继承Thread类,重写run()方法。用start()方法启动线程。
2.实现Runable接口,实现run方法。用new Thread(Runnable target).start()来启动。

public class Test {

	public static void main(String[] args) {
		Runner1 run1 = new Runner1();
		Runner2 run2 = new Runner2();

		Thread thread1 = new Thread(run1);  
		Thread thread2 = new Thread(run2);  
//		thread1.start();  
//		thread2.start();  
		thread1.run();  
		thread2.run();

	}

}

class Runner1 implements Runnable {   
	public void run() {  
		for (int i=0;i<10;i++) {  
			System.out.println("进入Runner1运行状态—————" + i);  
		}
	}
}
class Runner2 implements Runnable {
	public void run() {  
		for (int i=0;i<10;i++) {  
			System.out.println("进入Runner2运行状态=====" + i);  
		}  
	}  
} 
运行结果

运行结果

实现Runnable接口方式

1、定义Runnable接口的实现类,并重写其中的run方法。run()方法的方法体是线程执行体。

class SonThread  implement Runnable{
	public void run(){
		......

	}
}

2、创建Runnable接口实现类的实例。

sonThread s1=new SonThread();

3、用该实例作为Thread的target来创建Thread对象。

Thread t1 =new Thread(s1);

4、调用该对象的start()方法启动线程。

t1.start();

5、可以这样简写

Thread t1=new  Thread(new SonThread()).start();

【常用方法】

1、返回对当前正在执行的线程对象的引用

currentThread();

2、返回此线程的标识符

getId();

3、返回此线程的名称

getName();

4、返回此线程的优先级

getPriority();

5、测试这个线程是否还处于活动状态。
活动状态就是线程已经启动且尚未终止,线程处于正在运行或准备运行的状态。

isAlive();

6、使当前正在执行的线程以指定的毫秒数“休眠”(暂时停止执行),具体取决于系统定时器和调度程序的精度和准确性。

sleep(long millis);

7、中断这个线程。

interrupt();

8、测试这个线程是否是守护线程。

isDaemon();

9、将此线程标记为 daemon线程或用户线程。

setDaemon(boolean on);

10、更改此线程的优先级。

setPriority(int newPriority);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值