前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >进程和线程的概述

进程和线程的概述

作者头像
黑泽君
发布2018-10-11 14:43:20
4430
发布2018-10-11 14:43:20
举报
文章被收录于专栏:黑泽君的专栏黑泽君的专栏

进程和线程的概述

代码语言:javascript
复制
=============================================================================
1:要想了解多线程,必须先了解线程,而要想了解线程,必须先了解进程,因为线程是依赖于进程而存在。
--------------------------------------
2:什么是进程?
    通过任务管理器我们就看到了进程的存在。
    而通过观察,我们发现只有运行的程序才会出现进程。

    进程:就是正在运行的程序。

    进程:是系统进行资源分配和调用的独立单位。每一个进程都有它自己的内存空间和系统资源。
--------------------------------------    
3:多进程有什么意义呢?
    单进程的计算机只能做一件事情,而我们现在的计算机都可以做多件事情。
    举例:一边玩游戏(游戏进程),一边听音乐(音乐进程)。
    也就是说现在的计算机都是支持多进程的,可以在一个时间段内执行多个程序。
    
    可以提高CPU的使用率。
    
    问题:
        一边玩游戏,一边听音乐是同时进行的吗?
        不是。因为单核CPU在某一个时间点上只能做一件事情。
        而我们在玩游戏,和在听音乐的时候,是CPU在做着程序间的高效切换让我们觉得是同时进行的。
--------------------------------------        
4:什么是线程?
    在同一个进程(正在运行的程序)内又可以执行多个任务,而这每一个任务我就可以看出是一个线程。

    线程:是程序的执行单元,执行路径。是程序使用CPU的最基本单位。

    单线程:如果程序只有一条执行路径。
    多线程:如果程序有多条执行路径。
    
    一个进程 = 一个正在运行的程序 = 1个线程+1个线程+1个线程+... = 多个线程 = 多个任务
--------------------------------------    
5:多线程有什么意义呢?
    多线程的存在,不是提高程序的执行速度。其实是为了提高应用程序的使用率(提高能使用cpu的概率)。
    程序的执行其实都是在抢CPU的资源,或者叫CPU的执行权。
    多个进程是在抢这个资源,而其中的某一个进程如果执行路径(线程)比较多,那么就会有更高的几率抢到CPU的执行权。
    
    我们是不敢保证哪一个线程能够在哪个时刻抢到cpu的执行权的,所以线程的执行具有随机性。

小结:
  多进程的意义:提高使用cpu的效率。(多用cpu)
  多线程的意义:提高能使用cpu的概率。(有多少机会用cpu,因为cpu不是你想用就能用啊)
=============================================================================

多线程程序的引入图解

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-04-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档