Java新人培训-多线程

多线程


线程的五个状态新建就绪执行等待销毁

  • 新建线程需要调用start()方法才会进入就绪状态
  • 处于就绪状态的线程并不一定立即被执行,而是听从CPU调度,即将被执行,所以被称为就绪
  • 处于等待状态的线程不会被CPU调度

如何创建新的线程


方法一

public class TestThread extends Thread {
    //默认构造方法
    public TestThread(){}

    //传入的String参数为线程名称
    public TestThread(String name) {
        super(name);
    }
    //该方法在线程由就绪转为执行时被调用
    @Override
    public void run() {
        super.run();
        System.out.println(this.getName());
    }
}

这样我们已经声明了自己的线程类,对于不同的线程,他们的区别主要在于他们的run()方法内的业务逻辑不同,同时我们需要注意的是,我们还没有实例化对象,也就是说现在新的线程还没有被创建.

继续阅读

Java 新人培训 — 异常处理

异常

异常不是编译时的错误(Error),异常是运行时错误(Exception)

 

异常处理流程


代码出现错误后,它会先在原函数代码内部寻找是否有try catch语句,如果没有,则找到调用这个函数的函数内部寻找,如果还没有就会交给java虚拟机,虚拟机会直接结束掉程序,返回异常信息.
如果异常交由 JVM 处理,JVM 会结束掉程序,并将异常信息输出到日志中,在 Android 上体现为 App 闪退。为了提高用户体验,我们要尽可能的处理可能发生的异常.

继续阅读