多线程

1、线程:程序中单独顺序的控制流

    线程本身依靠程序进行运行

    线程是程序中的顺序控制流,只能使用分配给程序的资源和环境

2、进程:执行中的程序

    一个进程可以包含一个或多个线程

    一个进程至少要包含一个线程

3、线程的实现:(1) 继承Thread类

      Thread类是在Java.lang包中定义的,继承Thread类必须重写run()方法。

  (2) 实现Runnable接口

4、线程的生命周期

  创建状态:准备好了一个多线程的对象

  就绪状态:调用了start()方法,等待cpu进行调度

  运行状态:执行了run()方法

  阻塞状态:暂时停止执行,可能将资源交给其他程序执行

  终止状态:线程销毁

5、常用方法

  getNmae()   取得当前线程的名称

  currentThread()  获得当前线程对象

  isAlive()  判断线程是否启动

  join()  强行启动线程

  sleep()  线程休眠

  yield()   线程的礼让

6、线程的优先级设置(可能性状态)

  1-MIN_PRIORITY

  10-MAX_PRIORITY

  5-NORM_PRIORITY

7、同步与死锁

  (1) 同步代码块

    在代码块上架“synchronized”关键字,则次代码块就称为同步代码块

    格式:synchronizde(同步对象){

        需要同步的代块;

                         }

原文地址:https://www.cnblogs.com/leilei0327/p/7724398.html