这周学习了异常与多线程,线程使用

Exception异常的分类:

1.编译时异常:继承自Exception的异常或者其子类,编译阶段就会报错

2.运行时异常:继承自RuntimeException的异常或者其子类,编译阶段不报错,但是运行阶段报错

异常的处理方式:

1.抛出异常:在出现编译时异常的地方层层把异常抛出去给调用者,调用者最终抛出给JVM虚拟机,JVM虚拟机输出异常信息,直接干掉程序,这种方式与默认方式是一样的。虽然可以解决代码编译时的错误,但是一旦运行时真的出现异常,程序还是会立即死亡,这种方式并不好

2.捕获处理:在出现异常的地方自己处理,谁出现谁处理

finally关键字

进程的三个特征

1.独立性:进程与进程之间是相互独立的,彼此有自己独立内存区域

2.动态性:进程是运行中的程序,要动态的占用内存,CPU和网络等资源

3.并发性:CPU会分时轮询切换依次为每个进程服务,因为切换的速度非常快,给我们的感觉像是在同时执行,这就是并发性

并发:同一时刻同时有多个在执行

线程:线程是属于进程的,一个进程可以包含多个线程,这就是多线程

线程的创建方式一.继承thread类

1.定义一个线程类继承Thread

2.重写run()方法

3.创建一个新的线程对象Thread t = new MyThread();

4.调用线程对象的start()方法启动线程

     二.实现Runnable接口
创建一个线程任务类实现Runnable接口

重写run()方法

创建一个线程任务对象(注意:线程任务对象不是线程对象,只是执行线程的任务的)

Runnable target = new MyRunnable();
把线程任务对象包装成线程对象,且可以指定线程名称

Thread t = new Thread(target,"1号线程");

调用线程对象的start()方法启动线程

   三.实现Callable接口
定义一个线程任务类实现Callable接口,申明线程返回的结果类型
重写线程任务类的call方法,这个方法可以直接返回执行的结果
创建一个Callable的线程任务对象
把Callable的线程任务对象包装成一个未来任务对象
把未来任务对象包装成线程对象
调用线程的start()方法启动线程

下周将学习线程同步,线程安全,线程通信,集合等知识。