码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 一、多线程的基本概念


    文章目录

    • 一、多线程的简单理解
    • 二、在学习多线程时多需要知道的基本概念
      • 1、什么是程序?
      • 2、什么是进程?
      • 3、什么是线程?
    • 三、多线程的好处和弊端



    一、多线程的简单理解

            简单理解什么是多线程:在我们不使用多线程技术的时候,我们写出来的程序每次执行时只能调用一个方法或者运行一个接口,只有执行完当前的方法或者接口之后才能继续完成其他任务。但使用了多线程技术之后,我们可以同时完成多个任务。
            比如说,我们在使用上一篇 的 IO 流技术时,如果我们的需求是复制两份文件,并且需要有两个封装地文件,在没学习多线程之前,我们只能先复制一份,第一个文件复制完成之后才能复制下一份文件,但使用多线程之后可以同时使用程序复制两份文件。


    二、在学习多线程时多需要知道的基本概念

    • 多线程的组成部分

      • 程序
      • 进程
      • 线程

    1、什么是程序?

    • 程序: 我们通过编写代码所实现某些特定的功能,这些功能统称为程序。(当然得是正经程序┗|`O′|┛ 嗷~~,是能跑起来的那种哟~~)

    2、什么是进程?

    • 进程:

      • 我们将编写的程序运行起来之后,从开始到结束的整个过程就叫做进程。
      • 程序在运行时,会将进程加载到了内存中,并占用了 CPU 的资源。
      • 进程是一个动态的过程:有自身的产生、存在和消亡的过程,这也是进程的生命周期。
      • 进程是系统资源分配的单位,程序在运行时会为每个进程分配不同的内存区域。

    3、什么是线程?

    • 线程:

      • 进程可进一步细化为线程,是一个程序内部的执行路径。
      • 一个进程如果只有一条执行路径,则称为单线程程序
      • 一个进程如果有多条执行路径,则称为多线程程序


    三、多线程的好处和弊端

    • 好处:当我们使用多线程技术来实现程序时,程序的进程中就会存在多个线程。这些线程可以共享进程的内存区,而且内存区的堆和栈空间线程也是可以共享的。也就是说线程可以访问堆中的变量和对象,这样便使程序间数据的流通更加简洁,更加的高效。
    • 弊端:但多线程操作共享的系统资源可能就会带来安全隐患(隐患为到底哪个线程操作这个数据,可能存在多个线程同时操作同一条数据的状况)。


    java多线程会造成线程安全问题的原因总结

  • 相关阅读:
    【DDR3 控制器设计】(6)DDR3 的读写模块添加 FIFO 接口设计
    触控笔和pencil笔一样吗?平价电容笔推荐
    Java 多态具体指什么?怎么使用多态?
    Linux 二进制分析-Linux环境和工具(chapter 1)
    JavaEE & HTTP应用层协议
    web开发初级工程师学习笔记
    Django-(5)
    (附源码)ssm日语学习系统 毕业设计 271621
    【重拾C语言】十二、C语言程序开发(自顶向下、逐步求精;结构化程序设计原则;程序风格)
    padavan解决没有u盘不能安装nginx问题
  • 原文地址:https://blog.csdn.net/shiyu_951/article/details/126096338
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号