多线程

作者: Hoffnung_8164 | 来源:发表于2020-04-26 23:34 被阅读0次

    2.1、throws关键字

                用于一个方法的对外声明:用于表示该方法不处理异常,交由调用处进行处理。

            publicstaticvoidtest()throwsParseException{

    }

    子类重写父类的方法时,不能抛出比父类更大的异常。

        父类抛出异常,子类可以不抛出

        父类抛出异常,子类可以抛出和父类一样的或者是比父类小的异常

        父类抛出异常,子类不能抛出比父类更大的异常

        父类没有抛出异常,子类也不能抛出异常。

    2.2、throw关键字

    用于代码中主动抛出一个异常对象:设计一个方法的功能的时候,根据逻辑分析,可以主动抛出一个异常对象。

    代码级别上,主动抛出一个异常对象,提示调用者:产生问题啦。。

    以下是String这个类的源代码:

            publiccharcharAt(intindex) {

                if((index<0)||(index>=value.length)) {

                thrownewStringIndexOutOfBoundsException(index);

               }

            returnvalue[index];

           }

        【面试题】对比Exception和RuntimeException的区别。

                1、Exception是最大的异常父类。RuntimeException是Exception的子类。

                2、RuntimeException是运行时异常,程序不强制一定处理该类型的异常。Exception的异常,包含了受检异常,程序中必须处理该类型的异常。

        【面试题】对比throws和throw的区别。

            1、throws关键字,用于表示一个方法向外声明,该方法不处理异常,交由调用处处理这个异常。处理异常的一种方式:捕获,抛出。

            2、throw关键字,代码中,主动抛出一个异常对象。因为某个逻辑原因,主动抛出一个异常对象,打断程序的执行。主动抛出异常对象。

    2.3、自定义异常

        自己定义一个类,用于表示某种异常。需要继承Exception或其子类即可。

        问题:不是哪个类的对象,都有被创建并抛出就能够打断程序的功能。

        自定义异常:

    程序中主动抛出一个异常对象:

    return和finally的参考资料:

    https://blog.csdn.net/zoujian1993/article/details/45362931

    2.4、多线程

        2.4.3 并行和并发

            串行:任务一个接一个做。

            并行:同时在做多个任务。(硬件的支持)

            并发:在多个任务之间快速的切换,看起来同时执行多个任务。但是实际上,某一个事件点,执行1个任务。

        宏观并行,微观串行。

    2.4.4 进程

        进程:就是正在执行的程序。占用系统资源。

            一个程序的执行,内存,CPU。。。

        注意区分:电脑上安装的软件。没有跑起来,不能算进程。

    2.4.5 线程

        何为线程:概念:进程中的一个执行路径。

            进程:一个正在执行的程序。

    2.4.6 进程和线程

        1、进程:一个正在执行的程序:JVM正在执行的程序

        2、线程:正在执行的程序中的一条执行路径

        3、多线程:一个进程中,可以同时有多条线程一起执行。

                如果一个进程没有了,该进程中的线程也就没有了。

                如果线程没有了,但是进程不一定的。

    2.4.7 Java中对于多线程的支持

        Java中如何实现多任务的?多线程

            Thread类:JDK提供好的,Thread类,就是java中关于多线程的实现。线程的功能都封装在了该类中。

        要使用线程,来实现程序的并发:一个程序,同时干多件事。

        比如:唱歌,同时跳舞

        Thread类来实现

        Java代码,如何创建一条线程?如何启动起来?执行功能?

    两种创建线程的方式

        A:创建线程并启动:继承Thread类

            step1:创建子类,继承Thread类。

            step2:重写run(),线程体。并发执行的内容,写在这个方法中。

            step3:启动线程:start()

    B:实现Runnable接口,创建线程的方式二

            step1:创建实现类,实现Runnable接口

            step2:重写run(),线程体。并发执行的内容,写在这个方法中。

            step3:启动线程:

                    创建实现类的对象:mt

                    根据实现类对象mt,创建Thread类对象t3,t4

                    start()启动该线程:t3,t4

    相关文章

      网友评论

          本文标题:多线程

          本文链接:https://www.haomeiwen.com/subject/cxzswhtx.html