1.理解
程序:进程所执行的依据,模板(期望步骤结果) 进程:执行的过程 线程:过程的分支 举例:制作一个蛋糕,蛋糕的制作方法材料等可以理解成程序,制作这个蛋糕就是进程,烤主体,调奶油等就是一个个线程
2.实现
两个方法可以实现多线程 1)继承Thread类 在类中重写run方法,创建对象后调用start方法开启线程(注意直接调用run方法是开启不了线程的) 2)实现Runnable接口 同样在实现类中重写run方法,创建对象后将该对象作为newThread的参数,再通过start开启线程
3. 线程名 setName() 设置线程名
getName() 获取方法调用者的线程名
currentThread()获取当前线程名
4.线程控制 主要是三个方法: sleep:后面给定一个参数作为线程暂停的毫秒数,时间到达自动到达就绪状态 join:等待这个线程死亡 setDaemo:设置为守护线程 个人理解: 如果开启了线程,那么在内存中创建了两个线程栈,第一个是用于储存主线程的栈A,另一个用于存放其他线程的线程栈B,每当开启一个线程,则将其放入线程栈 B中,这些线程共同抢占cpu资源,主线程结束后进程不会马上结束,要在jvm判断该进程是否只剩守护线程的时候才会结束进程。 5.线程生命周期
|