异常本身是个类,产生异常就是异常创建异常对象并抛出,java处理异常的方式是中断处理
异常并不是语法错误
异常类:Throwable 有两个子类 Error(工程师不能处理,只能尽量避免) Exception(由于使用不当导致,可避免)
多线程
并发:指两个事务在同一个世家段发生 交替执行
并行:指两个或多个事务在同一个时刻发生 同时执行
进程:进程是程序的一次执行过程,系统运行一个程序即是一个进程从创建到消亡的过程
线程:负责当前进程中程序的执行,一个进程中至少有一个线程,一个进程中可以有多个线程
Thread类 基本线程
先定义Thread子类对象,先继承Thread类 再重写Thread类中的run方法设置线程
使用步骤:
创建Thread类的子类
在Thread类的子类中重写Thread类中的run方法,设置线程任务(开启线程之后要做什么)
创建Thread类的子类对象
调用Thread类中的方法Start方法,开启新的线程执行run方法
public class Ahu extends Thread { public void run(){ } }
构造方法
public Thread() 分配一个新的线程对象
public Thread(String name) 分配一个指定名字的线程对象
public Thread(Runnable target) 分配一个带有指定目标的新线程对象
public Thread(Runnable target,String name) 分配一个带有指定目标的新的线程对象并带有指定名字
常用方法
public String geyName() 获取当前线程名称
public class Ahu extends Thread { public void run(){ String name = getName(); System.out.println(name); } } public void run(){ System.out.println(Thread.currentThread().getName()); } public class Dome011 { public static void main(String[] args) { Ahu ahu = new Ahu(); ahu.run(); ahu.start(); System.out.println(Thread.currentThread().getName()); } }
public void start() 导致此线程开始执行JAVA虚拟机调用此线程的run方法
public void run() 此线程要执行的任务在此处定义代码
public static void sleep(long millis) 使用当前正执行的线程已制定毫秒暂停(暂时停止执行)
public static Thread currentThread()返回当前正在执行的线程对象引用