博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
进程和多线程的概念及线程的优点
阅读量:6972 次
发布时间:2019-06-27

本文共 837 字,大约阅读时间需要 2 分钟。

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

       线程可以理解成是在进程中独立运行的子任务。比如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

 

转载于:https://www.cnblogs.com/hanw1991/p/7486561.html

你可能感兴趣的文章
springboot热部署
查看>>
MySQL学习(五) UNION与UNION ALL
查看>>
爬虫_淘宝(selenium)
查看>>
关于常用的web.xml、applicationContext.xml与springMVC-servlet.xml
查看>>
14、使用csv和excel存储豆瓣top250电影信息
查看>>
python Reload的准备知识
查看>>
autocomplete 之 ASP.NET
查看>>
Oracle数据库基础
查看>>
ArcGIS时态数据应用——动态展示台风中心轨迹
查看>>
Sql Server系列:排序函数
查看>>
windows平台vhd磁盘文件挂载
查看>>
白盒测试实践作业进度报告——Day 3
查看>>
基于Ubuntu16搭建Hadoop大数据完全分布式环境
查看>>
window环境下安装yii2
查看>>
exjs上传图片异常:com.jspsmart.upload.SmartUploadException: File can't be saved (1120).
查看>>
《c++不在难学--随老鸟快速通关》
查看>>
HipHop PHP
查看>>
非关系型数据库Redis学习(3)
查看>>
HPU 1437: 王小二的求值问题
查看>>
UE操作
查看>>