码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 认识线程,初始并发


    线程学习

    1. 什么是线程

    • 程序

      是为完成特定任务,用某种语言编写的一组指令的集合,即指一段静态的代码,静态对象

    • 进程

      是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有他自身的产生,存在和消亡的过程。程序是静态的,进程是动态的;进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域。

    • 线程

      进程可进一步细化为线程,是一个程序内部的一条执行路径。若一个进程同一时间并行执多个线程,就是支持多线程的;

      线程作为调度和执行的单位,每个线程拥有独立的运行栈和程序计数器,线程切换的开销小;

      一个进程中,多个线程共享相同的内存单元/内存地址空间,也就是说他们从同一堆中访问相同的变量和对象,这就使得线程间通信更简便、高效。但多个线程操作共享的系统资源可能就会带来安全的隐患。

    2. 初识并发问题

    • 并发:一个CPU(采用时间片)同时执行多个任务。比如:秒杀,多个人做同一件事

    下面代码为例,让我们了解什么是并发:

    //多个线程操作一个对象
    //线程不安全,数据紊乱
    public class TestThread01 implements Runnable {
    	//票数
        private int tkicketNum=10;
        @Override
        public void run() {
            while (true){
                if(tkicketNum<1){
                    break;
                }
                System.out.println(Thread.currentThread().getName()+"拿到了第"+ tkicketNum-- +"张票");
            }
        }
        public static void main(String[] args) {
            TestThread01 testThread01 = new TestThread01();
            new Thread(testThread01,"张三").start();
            new Thread(testThread01,"李四").start();
            new Thread(testThread01,"wangwu").start();
    
        }
    }
    

    结果如下:

  • 相关阅读:
    参数方程求导
    【我的渲染技术进阶之旅】让我们一起来了解一下什么是glTF?为什么glTF是3D世界的JPEG?
    SpringBoot常见组件集成
    【论文速读】 | AI驱动修复:漏洞自动化修复的未来
    【多式联运】基于matlab改进的模拟退火优化遗传算法求解多式联运运输问题(含碳政策)【含Matlab源码 1995期】
    【FAQ】一则关于PYTHON与SHELL处理文本乱码的问题
    PMP每日一练 | 考试不迷路-9.6(包含敏捷+多选)
    10个好用的Mac数据恢复软件推荐—恢复率高达99%
    不好意思,Nginx 该换了!
    系统分区
  • 原文地址:https://www.cnblogs.com/kulapikajy/p/16728360.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号