zoukankan      html  css  js  c++  java
  • 并发

    程序是一段静态的代码,进程是程序中一次动态的执行 线程是比进程更小的单位,不能独立存在,必须依靠进程,同一进程中各线程共享进程中存储空间的数据,每个线程都有自身产生、存在、消亡的过程 ,它是动态的。

    多线程就是程序执行过程中可以产生多条执行流 Java实现多线程的途径有两种:

    (1)创建一个Thread类:   

             用Thread类实现线程,必须为Thread定义一个子类,并且重写run()方法。   

            例:  class cat extends Thread      

                      {    

                         public void run()    

                                 ...     

                         }    

                由于Java只支持单重继承,用这种方法定义的类不可再继承其他父类

    (2)实现一个runnable接口:   

           设计一个实现runnable接口的类,重写run()方法,创建类对象

    使用new关键字创建线程,使用start()方法启动线程

    线程的几种状态:

    New (新建)//新建了一个线程 ,没有启动

    Runnable (可运行)//线程已经启动,处于run()方法之中

    running (运行)//处于排队等待序列中

    Blocked (被阻塞)//一个正在执行的线程因特殊原因,被暂停执行,进入阻塞状态

    Waiting (等待) Timed waiting (计时等待)

    Terminated (被终止)//自然死亡或者异常捕获

    可以使用getState方法获得当前的线程状态

    Java线程执行采用优先级策略:

    (1)优先级高的先执行,低的后执行

    (2)在缺省优先级的情况下,先执行继承父类的优先级

    (3)优先级相同的情况下,按照“先进先出”的队列情况执行

    Thread类有三个与线程优先级有关的静态量:

    MAX_PRIORITY:最大优先权,值为10;

    MIN_PRIORITY:最小优先权,值为1;

    NORM _PRIORITY:默认优先权,值为5。

    程序中可以调用getPriority()获得当前线程优先级

  • 相关阅读:
    Fiddler——基本常识
    Fiddler——抓包工具的使用
    Angular——单页面实例
    Angular——路由参数
    Angular——单页面与路由的使用
    Angular——配置模块与运行模块
    Angular——自定义服务
    Angular——$http
    Angular——内置服务
    Angular——依赖注入
  • 原文地址:https://www.cnblogs.com/1028-yue/p/8053526.html
Copyright © 2011-2022 走看看