61.java创建多线程的方式一继承Thread类

创建线程的方式一

1. 继承Thread

 

getName()是获取线程的名字。

执行后的效果:

问题: 先按照顺序运行完了张三,然后接着再按照顺序运行完李四,我们想要的效果是张三和李四做资源的争夺战,也就是先是张三然后李四,没有顺序执行。这就证明多线程没有起到效果。

2. 需要复写run方法,把要执行的任务放在run方法中。

运行效果:

问题: 先按照顺序运行完了张三,然后接着再按照顺序运行完李四,我们想要的效果是张三和李四做资源的争夺战,也就是先是张三然后李四,没有顺序的执行。这就证明多线程没有起到效果。

3. 调用start()方法启动线程

效果:

达到了我们预期的效果。

线程的使用细节:

  1. 线程的启动使用父类的start()方法
  2. 如果线程对象直接调用run(),那么JVN不会当作线程来运行,会认为是普通的方法调用。
  3. 线程的启动只能由一次,否则抛出异常
  4. 可以直接创建Thread类的对象并启动该线程,但是如果没有重写run(),什么也不执行。
  5. 匿名内部类的线程实现方式

 

posted @ 2020-09-01 20:54  nohert  阅读(189)  评论(0编辑  收藏  举报