zoukankan      html  css  js  c++  java
  • 线程

    java线程的6中状态: 

      new

      runable

      blocked

      waiting

      timed_waiting

      terminated

    转换图:

      

     操作系统层面的东西,操作系统中的进程:

       什么是进程:

        一个程序进入到内存中的过程,简称为进程!

        官方解释:process,计算机中的程序关于某数据集合中的一次运行活动,是系统进行资源分配和调度的基本单位!

      什么是进程状态:

        一个进程是有生命周期的,整个生命周期我们可以称为一组状态:

          new  新建态

          ready  就绪态

          running  运行态

          waiting  阻塞态(有时多的时候,就会排成队列[先进先出FIFO])

          termainted  终止态

          

    JVM层面的线程:

      

        

      各个线程状态发生的条件:

        

    创建线程的方式一:

      继承Thread类,重写Run方法,start方法开启线程;

    创建线程的方式二:

       实现Runable接口,重写Run方法,start方法开启线程;

    线程安全问题:

      当使用多个线程访问同一资源的时候,且多个线程对资源都有写对操作,就会出现线程安全问题;

      要解决多线程并发访问一个资源对安全性问题,java提供了同步机制来解决:synchronized(同步代码块,同步方法,锁机制);

    线程池:

      Executor

      线程池的缘由:

        1.避免大量线程相互之间抢占资源而导致阻塞现象;

        2.提升性能,避免线程大量创建销毁造成的开销;

      Java通过Executors提供了四个静态方法创建线程池;

        可以缓存的线程池:newCacheThreadPool;

        创建一个定长的线程池,可控制线程最大并发数,超出的线程会在队列中等待;newFixedThreadPool;

        创建一个定长的线程池,支持定时及周期性任务执行,newScheduledThreadPool;

        创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO、LIFO、优先级)执行,newSingleThreadExecutor;

     

        

  • 相关阅读:
    [转载]试着解析宾得为何不出全幅
    [转载]试着解析宾得为何不出全幅
    [转载]从KX、KR用户的购镜选择谈到K5和其他
    [转载]从KX、KR用户的购镜选择谈到K5和其他
    pdf工具的使用
    Xshell 添加快速命令使用
    linux remove和 rename函数使用
    linear correlation coefficient|Correlation and Causation|lurking variables
    SST|SSR|SSE| r 2|与Sx x &Sx y & Syy的关系|
    the least-squares criterion|Sxx|Sxy|Syy|Regression Equation|Outliers|Influential Observations|curvilinear regression|linear regression
  • 原文地址:https://www.cnblogs.com/yikuan-919/p/11141098.html
Copyright © 2011-2022 走看看