zoukankan      html  css  js  c++  java
  • 多线程学习笔记

    一、进程和线程

    (1)进程概念的引入

    为了能使程序并发执行,并且可以对并发执行的程序加以描述和控制,人们引入了“进程”的概念。---摘之计算机操作系统(第四版)汤小丹编著

    (2)进程概念

    进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。----摘之百度百科

    进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。

    (3)线程概念

    线程:是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程

    (4)进程和线程的关系

        1、一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。

        2、资源分配给进程,同一进程的所有线程共享该进程的所有资源。
        3、CPU分给线程,即真正在CPU上运行的是线程。

    (5)进程和线程区别

    • 地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间。
    • 资源拥有:同一进程内的线程共享本进程的资源如内存、I/O、cpu等,但是进程之间的资源是独立的。
    • 执行过程:每个独立的进程程有一个程序运行的入口、顺序执行序列和程序入口。但是线程不能独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
    • 线程是处理器调度的基本单位,但是进程不是。
    • 两者均可并发执行

    123456

    (6)进程和线程优缺点

     1、程执行开销小,但是不利于资源的管理和保护。线程适合在SMP机器(双CPU系统)上运行。

     2、开销大,但是能够很好的进行资源管理和保护。进程可以跨机器前移。

    (7)进程和线程使用时机

         1、对资源的管理和保护要求高,不限制开销和效率时,使用多进程。

         2、要求效率高,频繁切换时,资源的保护管理要求不是很高时,使用多线程。

          参考:https://www.cnblogs.com/zhuzhu2016/p/5804875.html

                          https://www.cnblogs.com/lgk8023/p/6430592.html

                         https://blog.csdn.net/wujiafei_njgcxy/article/details/77098977

                        https://www.cnblogs.com/yuanchenqi/articles/6755717.html

    好看的皮囊千篇一律,有味的文章百里挑一, 若你觉得好味,可以给个赞,

    尊重原创,支持原创,转载博主的文章, 请务必标明作者和出处,谢谢 !

    作者:Newbe落花

    出处:https://www.cnblogs.com/fby698/

  • 相关阅读:
    归并排序
    mysql优化
    树结构
    urllib库的使用
    linux常用命令
    mysql慢查询
    支付宝第三方支付
    类型(type)判断
    c语言自带的排序与查找
    多字节与宽字节转换
  • 原文地址:https://www.cnblogs.com/fby698/p/9222378.html
Copyright © 2011-2022 走看看