• 线程


    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;

     

        

  • 相关阅读:
    原创:Qt自定义拖放
    看下最近公司的招聘需求
    leveldb阅读心得
    Relationship between the FIX Protocol's OrdID, ClOrdID, OrigClOrdID?
    Wait Functions
    全局变量与单例模式
    Asynchronous I/O
    QuickFix MsgHandler
    第一个Java程序
    (原創) Function Pointer、Delegate和Function Object (C/C++) (template) (.NET) (C#)
  • 原文地址:https://www.cnblogs.com/yikuan-919/p/11141098.html
Copyright © 2020-2023  润新知