移动 前端 Python Android Java

java 线程和多线程

2018-03-20  本文已影响4人  zcwfeng

前言

进程

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

线程

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

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

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。

上一篇下一篇

猜你喜欢

热点阅读