• 多线程并发


    一:相关概念

    1. 并发

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

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

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

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

    1. 可执行程序

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

    1. 进程

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

    1. 线程

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

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

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

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

    1. 总结

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

    二:并发的实现方式

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

    1. 通过多个进程实现并发(多进程并发)
    2. 在单独的进程中,创建多个线程在实现并发,自己写代码创建除主线程(main方法)之外的线程。(多线程并发)
  • 相关阅读:
    同样是IT行业,测试和开发薪资真有这么大差别?
    7. 吴恩达机器学习-PCA
    六、TCP实现聊天
    常用正则表达式(不定时更新)
    k8s 污点和容忍
    爬虫 — Json 模块和 Post 请求
    【三维目标检测】SASSD(一)
    python网络通信之基础知识填坑
    【算法刷题】第一篇——哈希
    猿创征文|网络安全的十大经典工具介绍
  • 原文地址:https://blog.csdn.net/weixin_45856470/article/details/126880337