---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
08/05/06 开学的第九天记录:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.自定义异常类的书写:
继承自Throwable或Exception 或RuntimeException等来实现自己的需求,便于处理自己的特殊问题
2.java多线程:
a.线程的概念:独立于进程之上的,是进程的一部分与进程一样共享CPU
b.线程的优点:提供CPU的利用率
c.多线程需要继承Thread类或实现Runnable接口 覆盖或实现对应的run()方法
d.多线程中的方法:getName()和setName() 启动使用start()方法,休眠使用Thread.sleep()方法
阻塞使用yield(),wait()方法,恢复到可运行状态使用join(),notify()
e.在线程执行的过程中随时都可能被打断,只有那些原子的操作不能被打断,java中的只用
long double的赋值操作是原子的不能被打断,其余的操作,必须在不想同时被打断的方法
之间使用关键字synchronized
f.多个线程共享同一个资源必须通过使用实现Runnable接口,使用一个实现类对象去创建多个进程对象
然后分别去调用他们的start()方法
g.线程类的wait()方法和notify()方法可以改变线程的执行顺序,但是要注意控制notify的调用要控制在
wait()发生之后也可以使用在wait()中增加时间限制的方式减少死等状态出现;
同时还要注意wait()和notify()需要使用同一个对象的锁旗标否则也会出现死等,
且使用的锁旗标对象与调用方法的对象应该是同一个对象