java线程初级总结一

1.多线程概念

   程序:计算机指令的集合,是一段静态的代码,还有指令和数据的文件。


   进程:进程是程序一次动态执行的所有过程,进程包括运行中的程序和程序所使用到的内存和系统资源。


   线程:线程是程序中的一个执行流,每个线程都有自己的专有寄存器,但内存单元是共享的,即不同的线程可以执行同样的函数。


   并发编程:指由若干个可同时执行的程序模块组成程序的程序设计方法。这种可同时执行的程序模块就是进程。


2.为什么使用多线程

      在java多线程模型中,多个线程共存于同一块内存中,且共享资源,线程之间的通信非常容易。
      java程序可以并行处理,很大提高了程序的效率以及功能。

 

3.java线程的模型
     抢占式调度模型
       线程调度程序挑选线程时,将选择处于就绪状态且优先级最高的线程。
       如果多个线程具有相同的优先级,它们将被轮流调度。


4.java线程优先级
      优先级是从0到10的整数,并且它仅表示线程之间的相对关系;
      当多个线程并行执行时,具有较高优先级的线程将获得较多的CPU时间片;
      Thread类包含的常量有:
         1. public static final int MAX_PRIORITY: 最大优先级,值是10。
         2. public static final int MIN_PRIORITY:  最小优先级,值是1。
         3. public static final int NORM_PRIORITY:缺省优先级,值是5。


5.主线程
      java中建立了一个类,当运行到该类的时候,java虚拟机自动创建一个一个线程调用main函数,这就是它的主线程。


6.建立线程
     当一个Thread类或其子类的对象被声明冰箱被创建时。此时它已经有了相应的内存空间和其他资源,但是并没有开始执行它内部的代码。
     void run():用该方法来执行线程。
     void start():开始执行run部分的代码。
     static void sleep(long millis)throws InterruptedException:将可运行对象置为休眠状态,休眠时间为指定的毫秒。

 

java线程初级总结一

 

7.如何知道线程是否已经结束
     可以调用isAlive()这个方法来判断:isAlive方法可以返回线程的状态,若true则线程处在可运行或不可运行状态; 若false则线程处在新创建或死亡状态。
     还有join()方法,它会等待线程结束。相当于下面的语句:
    while(thread.isAlive())   {
      try   {      
            thread.sleep(10);
        }   catch   (InterruptedException   e)   {
          } 
     }
 


8.动画实现

  创建多个Thread类或其子类的对象,循环开始start(),然后在run()函数中实现。

你可能感兴趣的:(java线程)