• 进程与线程(一)


     什么是进程??

      进程中有多个不同的执行路径或者多个线程的集合

      正在运行的程序

      进程是执行中的程序,一个操作系统可以有多个进程(系统运行多个软件)

    在进程中,程序代码是怎么执行的?? 

    在进程中一定有一个线程,这个线程叫主线程 (Java中的main)

    什么是线程?

    正在独立运行的程序

    线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务

    一个执行顺序,一个执行流程,执行路径

    使用多线程可以提高程序的效率,提高用户的体验(一个进程,多个线程)

    举例:百度网盘同时下载多个任务,极大的太高的百度网盘的效率

     缺点:更多的线程需要更多的电脑内存空间

    1. 每个线程都互不影响,独立运行

    线程的常用方法:

    1.获取当前的线程:Thread.currentThread

    2.返回该线程的标识符:getId

    3.返回该线程的名:getName 

    4.返回线程优先级:getPriority

    5.获取当前线程状态:getState 

    6.测试线程是否处于活动状态:isAlive

    7.线程是否为守护线程:isDaemon

    8.是否已经中断:isInterrupted

    多线程的应用场景:多线程下载,爬虫,前端开发ajax(异步上传),分布式job(需要同时一个执行多个任务调度)

    线程的优先级:

    Thread.MIN_PRIORITY::最高优先级(10)

    Thread.MAX_PRIORITY:中等优先级(5)

    Thread.NORM_PRIORITY:最低优先级(1)

    创建线程有哪些方式:

    1. 使用继承Therad类的方式
    2. 使用实现runnable接口方式
    3. 使用匿名内部类方法
    4. callable
    5. 使用线程池创建线程

     什么是同步,什么是异步?

    同步: 代码从上往下进行执行 

    异步(多线程):多线程之间,每个程序互不影响,不同步执行---cpu执行权

    多线程运行状态:

    1. 新建状态
    2. 就绪状态
    3. 阻塞状态
    4. 运行状态
    5. 死亡状态

    join()方法作用:让其他线程变为等待

    yield方法的作用:暂停当前正在执行的线程,并执行其他线程

  • 相关阅读:
    nginx 附件上传不上去 client_max_body_size 设置的太小
    python 1
    NGINX 常用配置
    Linux OOM Killer 保护机制
    MacbookPro接上HDM连接显示器不能上网的解决方法
    python 逻辑运算符 () > not > and > or
    TASSL 服务端 客户端测试代码
    SSL通信双方如何判断对方采用了国密
    C/S boringSSL那点事
    从Chrome源码看浏览器的事件机制
  • 原文地址:https://www.cnblogs.com/gujy/p/12168961.html
Copyright © 2020-2023  润新知