多线程详解

多线程的作用就是开辟了多条路径。

一个线程就是独立的执行路径
线程的运行由调度器来安排调度 调度器与操作系统紧密相关
线程会带来额外的开销 

 

创建线程的三种方式

1.extends Thread

2.implements Runnable 

   重写run方法(必须try catch)

  new Thread(new 对象).start();  //不保证立即运行  由CPU调度

3.实现Callable 借口 有返回值(不常用)

call  可以有返回值  throw Exception 

 

线程和lambda表达式结合

//jdk 简化 lambda

    new Thread(()->{
      for (int i = 0; i < 20; i++) {
          System.out.println("一边听歌");
        }
    });

线程的五种状态

新生状态:New Thread();

就绪状态:start() 线程进入就绪状态

运行状态:线程被调度 获取cpu 进入运行状态

阻塞状态: sleep wait join 其他操作如 read write 等引起的阻塞事件让线程进入阻塞状态

阻塞事件解除后 线程重新进入就绪

死亡状态:

stop destroy。不建议使用

 

终止线程:

1.线程正常执行完毕

2.外部干涉--- 加入标识(不要使用 stop destroy)

提供一个boolean 型的终止变量
线程内关联标识
提供修改终止变量方法 外部改变

 

sleep yield join

 

多线程详解

上一篇:java陷阱之浮点数运算丢失精度问题


下一篇:(for循环)打印各种三角形(C语言)