Thread

作者: ForeverYoung20 | 来源:发表于2015-10-05 16:13 被阅读61次

    Thread:自定义线程的创建方式


    方式一:

    1. 自定义一个类继承Thread类。
    2. 重写Thread类的run方法,把自定义线程的任务代码写在run方法上。
    3. 创建Thread的子类对象,并且调用start方法启动一个线程。

    注意:千万不要直接调用run方法,调用start方法的时候线程会开启,并执行run方法中的代码。当直接调用run方法时相当于调用了一个普通方法。

    方式二:

    1. 自定义一个类实现Runnable接口。
    2. 实现Runnable接口的run方法,把自定义线程的任务定义在run方法上。
    3. 创建Runnable实现类对象。
    4. 创建Thread类的对象,并且把Runnable实现类的对象作为实参传递。
    5. 调用Thread对象的start方法开启一个线程。

    注意:

    Runnable实现类的对象并不是一个线程对象,只不过是实现了Runnable接口的对象而已。只有是Thread或者Thread的子类才是线程对象。

    把Runnable事项类的对象作为实参传递给Thread对象的作用是把Runnable实现类的对象的run方法作为了线程的任务代码去执行。

    *推荐使用第二种方式实现Runnable接口。

    *因为Java单继承,多实现。


    线程的通讯

    线程通讯:一个线程完成了自己的任务时,要通知另外一个线程去完成另外一个任务。

    wait():等待  如果线程执行了wait方法,那么该线程会进入等待的状态,等待状态下的线程必须
           要被其他线程调用notify方法才能唤醒。
    notify():唤醒  唤醒等待的线程
    

    wait与notify方法要注意的事项:

    1. wait方法与notify方法属于Object对象。
    2. wait方法与notify方法必须要在同步代码块或者是同步函数中使用。
    3. wait方法与notify方法必须由锁对象调用。

    相关文章

      网友评论

        本文标题:Thread

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