• 多线程并发


    一:相关概念

    1. 并发

    两个或者更多的任务(独立的活动)同时发生(进行)的过程;一个程序同时执行多个独立的任务。

    在以前的单核CPU计算机中,某一时刻只能执行一个任务,各个任务之间由操作系统调度,没秒钟进行多次所谓的“任务切换”。由于各个任务之间切换是毫秒级别的,给人一种并发的假象(不是真正的并发);这种上下文切换是会有时间开销的,比如操作系统要保存切换是的各种状态、执行进度等信息,都需要耗费时间。

    随着硬件的发展出现多核CPU,当某一时刻执行任务数少于CPU核数的时候这就是真正的并发。

    使用并发的原因:主要是可以同时干多个事情,提升性能。

    1. 可执行程序

    磁盘上的一个文件;windows系统中一个扩展名为.exe的文件

    1. 进程

    进程就是一个运行的可执行文件,例如打开不同的word文档,每个文档都是一个独立的进程。

    1. 线程

    每个进程(运行的可执行文件)都要一个主线程。这个主线程是唯一的,也就是每个进程都有一个主线程。

    当你执行一个可执行文件的时候,就产生了一个进程,同时主线程也随着进程产生。

    除主线程之外,我们可以通过写代码来创建其他线程

    线程并不是越多越好,每个线程都需要独立的堆栈空间,消耗内存

    1. 总结

    一个程序可以有多个进程,但是每个进程都是独立存在的,每个进程都有一个主线程。

    二:并发的实现方式

    并发的实现方式(多进程并发)(多线程并发)

    1. 通过多个进程实现并发(多进程并发)
    2. 在单独的进程中,创建多个线程在实现并发,自己写代码创建除主线程(main方法)之外的线程。(多线程并发)
  • 相关阅读:
    JS 的 apply 方法
    三项最高级认证,两项创新技术、两大优秀案例,阿里云亮相云原生产业大会
    Python学到什么程度才可以去找工作?掌握这4点足够了
    JavaScript数据类型
    汽车OTA
    ios UI 基础开发二
    数据库字典Navicat自动生成版本
    RabbitMQ初步到精通-第十章-RabbitMQ之Spring客户端源码
    亿级流量高并发春晚互动前端技术揭秘
    SQL注入之宽字节注入、堆叠注入、二次注入
  • 原文地址:https://blog.csdn.net/weixin_45856470/article/details/126880337