A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 迷上莲的鳕鱼 初级黑马   /  2019-5-9 13:46  /  721 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

      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.线程生命周期





0 个回复

您需要登录后才可以回帖 登录 | 加入黑马