JAVA进程与线程

多线程编程是java语言中最为重要的特性之一,利用多线程技术可以提升代码效率,也是现代程序开发中高并发的主要设计形式

进程是程序的一次动态执行过程,它经历了从代码加载,执行到执行完毕的一次完整过程,这个过程也是从进程本身从产生到最终消亡的过程

虽然多进程可以提高硬件资源的利用率,但是进程的启动与销毁依然需要消耗大量的系统性能,导致程序的执行性能下降,所以为了进一步提升并发操作的处理能力,在进程的基础上又划分出了多线程的概念,这些线程依附于指定的进程,并且可以快速启动以及并发执行,并且可以快速启动,以及并发执行

在JAVA如果想实现多线程,那么就必须依靠一个线程的主体类(就好比主类的概念一样,表示的是一个线程的主类,)但是这个线程的主体类在定义的时候也需要一些特殊的要求,这个类可以继承Thread类,实现Runnable接口来完成定义

public class Demo3 {
	public static void main(String[] args) {
//		Test1 test1 = new Test1(); // new 一个对象
//		test1.start(); // 在调用.start方法的时候默认调用run方法 所以run方法就会执行
//		int a = 1 / 0;
//		
		Runnable test2 = new Test2(); // new一个Test2的子类对象,他的目的是创建任务
		Thread thread = new Thread(test2); // mew一个Thread对象,他默认是个空线程, 需要有任务才可以开启线程执行.
		Thread t2 = new Thread(test2); //创建第二个对象实现同一个任务多线程执行
		thread.start();// 验证是否独立线程执行不受异常影响,结果就是该抛抛异常抛异常,但是这个线程是独立运行的
		t2.start(); //第二条线程正常执行
	}
}

class Test1 extends Thread { // 该类继承Thread类
	@Override
	public void run() { // 重写run方法
		System.out.println("线程一");
	}
}

class Test2 implements Runnable {
	@Override
	public void run() {
		while (true) {
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			System.out.println("线程运行");
		}
	}
}

由于多线程需要并发执行,所以需要通过操作系统的资源调度才可以执行,这样对于多线程的启动就必须利用Thread类中的statr的方法,调用此方法会间接调用run方法

多个线程彼此交替执行的话,每次执行的结果肯定是不一样的,要想启动线程必须依靠Thread类的start方法执行,线程启动后会默认调用run方法.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值