zoukankan      html  css  js  c++  java
  • 进程和多线程的概念及线程的优点

           进程是操作系统结构的基础,是一次程序的执行;是一个程序及其数据在处理机上顺序执行时所发生的活动;是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。进程是受操作系统管理的基本运行单元。

           线程可以理解成是在进程中独立运行的子任务。比如QQ.exe运行时就有很多的子任务在同时运行。再如,好友视频线程、下载文件线程、传输数据线程、发送表情线程等,这些不同的任务或者说功能都可以同时运行,其中每一项任务完全可以理解成是“线程”在工作,传文件、听音乐、发送图片表情等功能都有对应的线程在后台默默地运行。    

           多线程的优点:可以最大限度的利用CPU的空闲时间来处理其他的任务,而CPU在这些任务之间不停的切换,由于切换的速度非常快,给使用者的感受就是这些任务似乎在同时运行。所以使用多线程技术后,可以在同一时间内运行更多不同种类的任务。

           假如任务1和任务2是两个完全独立、互不相关的任务,任务1(用时10秒)是在等待远程服务器返回数据,以便进行后期的处理,这时CPU一直处于等待状态,一直在“空运行”。如果任务2(用时1秒)是在10秒之后被运行,虽然执行任务2用的时间非常短,仅仅是1秒,但也必须在任务1运行结束后才可以运行任务2。本程序是运行在单任务环境中,所以任务2有非常长的等待时间,系统运行效率大幅降低。单任务的特点就是排队执行,也就是同步,就像在cmd中输入一条命令后,必须等待这条命令执行完才可以执行下一条命令一样。这就是单任务环境的缺点,即CPU利用率大幅降低。而多线程情况下,CPU完全可以在任务1和任务2之间来回切换,使任务2不必等到10秒再运行,系统的运行效率大大得到提升,这就是多线程技术的优点,使用多线程也就是在使用异步,千万不要把Eclipse里代码的顺序当成线程执行的顺序,线程被调用的时机是随机的。

    ekfvg;tsfdgvwgh

  • 相关阅读:
    xml的servlet配置
    python Matplotlib 系列教程(三)——绘制直方图和条形图
    https://blog.csdn.net/blmoistawinde/article/details/84329103
    机器学习——标准化/归一化的目的、作用和场景
    梯度提升决策树(GBDT)与XGBoost、LightGBM
    最容易理解的对卷积(convolution)的解释
    如何通俗易懂地解释卷积?
    卷积神经网络(CNN)之一维卷积、二维卷积、三维卷积详解
    Conv1D和Conv2D的区别
    卷积神经网络(CNN)张量(图像)的尺寸和参数计算(深度学习)
  • 原文地址:https://www.cnblogs.com/hanw1991/p/7486561.html
Copyright © 2011-2022 走看看