6.Java中的多线程【Java学习笔记Hatter】Java开发工程师
" src="http://fishcooimg.chinazspeed.com/2017/03/1488958774001.png" title="Java中的多线程.png" alt="Java中的多线程.png"/>
进程:是一个执行中程序。
每一个进程执行都有一个执行顺序。该顺序是一个执行路径,或者叫控制单元。
线程:就是进程中的一个独立的控制单元,线程在控制着进程的执行。
一个进程中至少有一个线程。
扩展:JVM启动不止一个线程,还有负责垃圾回收机制的线程。
" data-media-type="image" src="C:/Users/admin/AppData/Local/YNote/data/qqBBB20C8CF65FD622B31195A3C8CB7B4E/8aac3a91628a4131862c9bbb64e32563/clipboard.png" data-attr-org-src-id="81D21091997A42128443C6823A9CA177"/>
我们可以形象的吧多线程运行行为在互相抢夺cpu的执行权。
这就是多线程的一个特性:随机性,谁抢到就执行谁,至于执行多长,cpu说的算
2.为什么要覆盖run方法?
Thread类用于描述线程。该类就定义了一个功能,用于存储线程要运行的代码。该存储功能就是run方法。也就是说,Thread类中的run方法,用于存储线程要运行的代码。
继承java.lang.Thread类,重写run方法,在该方法中写入该线程的执行任务代码。(执行路径)
该方式相对不灵活,因为JAVA是单继承的,如果集成了Thread,很显然这个类就不能再继承其它类的。
3.线程的生命周期
" data-media-type="image" src="C:/Users/admin/AppData/Local/YNote/data/qqBBB20C8CF65FD622B31195A3C8CB7B4E/a3472f2568324b05b1909499b1abebf8/clipboard.png" data-attr-org-src-id="92054CB78B21445383BE63F8CC672146"/>
" src="http://fishcooimg.chinazspeed.com/2017/03/1488958774004.png" title="线程的生命周期.png" alt="线程的生命周期.png"/>
4.currentThread:获取当前线程对象
已经运行的程序是不需要重新去 start的。
5.生产者和消费者问题
" src="http://fishcooimg.chinazspeed.com/2017/03/1488958774005.png" title="生产者和消费者问题理解.jpg" alt="生产者和消费者问题理解.jpg"/>
" data-media-type="image" src="C:/Users/admin/AppData/Local/YNote/data/qqBBB20C8CF65FD622B31195A3C8CB7B4E/df71624f51a84f57ada8c554d1db57bc/生产者和消费者问题理解.jpg" data-attr-org-src-id="745A47F1A2BB46A788E7602F9E0E3C19"/>
6.同步方法:


1914篇文章