java 线程和多线程

作者: zcwfeng | 来源:发表于2018-03-20 18:02 被阅读4次

    前言

    进程

    程序(任务)的执行过程
    持有资源(共享内存,共享文件)和线程

    线程

    线程是系统中最小的执行单元
    统一进程中有多个线程
    线程共享进程的资源

    类比:统一个班级多个同学要共同互相帮助才能完成帮助,同学之间是互斥和同步,当一个同学用了一个资源,等用完了其他同学才能用,同学表演一个节目必须写作同步才能完成表演。

    java.lang.Thread
    java.lang.Runnable
    run
    start
    sleep (当程序sleep时候处于)
    join(使其他线程等待当前线程终止)
    yield(当前运行线程释放处理器资源)

    [图片上传失败...(image-248aee-1521540160032)]

    线程安全

    停止线程

    退出线程的方法,不要使用stop,他会立即结束,比如这里结束清理垃圾的机会都没有。所以用退出标志的方式退出比较好。

    interrupt (并不能正常停止)

    interrupted()interrupt() 设置中断状态
    api 中,这句话很重要。
    如果线程在调用 Object类的 wait()、wait(long)或 wait(long, int)方法,或者该类的 join()、join(long)、join(long, int)、sleep(long)或 sleep(long, int)
    方法过程中受阻,则其中断状态将被清除,它还将收到一个 InterruptedException。

    相关文章

      网友评论

        本文标题:java 线程和多线程

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