zoukankan      html  css  js  c++  java
  • 进程与线程

    进程是指在系统中正在运行的一个应用程序

    每个进程之间是独立的,每个进程均运行在其专用的且受保护的内存空间内

    1个进程由一个或多个线程组成

    线程是进程的基本执行单元,一个进程的所有任务都在线程中执行

    多线程

    1个进程中可以开启多个线程,多个线程可以“同时”执行不同的任务

    多线程可以高程序的执行效率

    特征

    (单核CPU)同一时间,cpu只能处理1个线程,只有1个线程在执行

    多线程同时执行:是CPU快速的在多个线程之间的切换

    cpu调度线程的时间足够快,就造成了多线程的“同时”执行

    如果线程数非常多,cpu会在n个线程之间切换,消耗大量的cpu资源

    每个线程被调度的次数会降低,线程的执行效率降低

    多线程的优点

    能适当提高程序的执行效率

    能适当提高资源的利用率(CPU&内存)

    线程上得任务执行完后自动销毁

    多线程的缺点

    开启线程需要占用一定的内存空间(默认情况下,每一个线程都占512KB)

    如果开启大量的线程,会占用大量的内存空间,降低程序的性能

    线程越多,cpu在调用线程上的开销就越大

    程序设计更加复杂,比如线程间的通信、多线程的数据共享

    主线程

    一个程序运行后,默认会开启1个线程,称为“主线程”或“UI线程”

    主线程一般用来 刷新UI界面 ,处理UI事件(比如:点击、滚动、拖拽等事件)

    主线程使用注意

    别将耗时的操作放到主线程中 耗时操作会卡住主线程,严重影响UI的流畅度,给用户一种卡的坏体验

  • 相关阅读:
    笔记
    Dwarf Tower
    第k小数
    np
    noi 抓住那头牛
    HDU 1575 Try A
    acm 易错警示
    E
    魔改森林 题解(dp+容斥+组合数学)
    F. Unusual Matrix 题解(思维)
  • 原文地址:https://www.cnblogs.com/xufengyuan/p/5269811.html
Copyright © 2011-2022 走看看