线程并发基础

线程并发基础

核心概念

CPU核心数、线程数

多核心:Chip Mutilprocessors(单芯片多处理器) CMP

多线程:Simultaneous Multithreading SMT

CPU时间片轮转机制

如果在时间片结束时,进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束之前阻塞或结束,则CPU当即进行切换。

调度程序做的是维护一张就绪进程列表,当进程用完它的时间片后,它被移到队列的末尾。

从一个进程切换到另一个进程需要一定时间,包括保存和装入寄存器值及内存映像,更新各种表格和队列等。为了提高CPU效率,需要合理设置时间片。

进程和线程

  • 进程:操作系统进行资源分配的最小单位,是程序运行资源分配的最小单位。 资源包括:CPU、内存空间、磁盘IO等。进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位

    进程可以分为系统进程和用户进程,但是用于完成操作系统的功能的进程就是系统进程,它们就是出于运行状态下的操作系统本身,用户进程是所有由你启动的进程。
  • 线程:CPU调度的最小单位,必须依赖于进程而存在,是进程的一个实体,是CPU调度和分派的基本单位。它是比进程更小、能独立运行的基本单位。线程与同属于一个进程的其他线程共享进程所拥有的全部资源。
  • 进程和线程的对比:

    [外链图片转存失败(img-XQk7gYmW-1568602047432)(https://github.com/yongmeiLiang/springboot/blob/dev/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20190912152332.png)]

吞吐量

吞吐量是指网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量(以比特、字节、分组等测量)。

  • 网络吞吐量:某一时刻,在网络中的两个节点之间,提供给网络应用的剩余宽带。即在没有帧丢失的情况下,设备能够接受的最大速率。
    • 吞吐量大小:由防火墙内网卡以及程序算法的效率决定。
    • 吞吐量和报文转发率的是关系防火墙应用的主要指标。
    • 吞吐量的测试方法:在测试中以一定速率发送一定数量的帧,并计算待测设备传输的帧,吞吐量测试结果以bit/s或B/s表示。
      • 吞吐量与带宽的区别 (两者的单位都是Mbit/s)
        • 吞吐量:throughput 表示一个系统的测试性能
        • 带宽:Max net bitrate 一般指链路上每秒能传送的比特数
  • 系统吞吐量:系统在单位时间内所处理的信息量,它以每小时或每天所处理的进程数衡量。
    • 影响因素:存储设备的存取速度;CPU性能;系统结构

多线程编程

  • 好处
    • 充分利用CPU的资源
    • 加快响应用户的时间
    • 使代码模块化、异步化、简单化
  • 注意问题
    • 线程间安全性
    • 线程间的死循环问题
    • 线程太多导致服务器资源耗尽形成死机宕机
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值