19/365 java 多线程

news2024/11/16 12:38:26

1. 基础概念

程序:指令集和数据的集合。(静态)

进程:对程序的一次执行。(动态)

          对同一个程序,执行两次,那就是两个进程。

          进程是系统资源分配的基本单位

线程:一个进程中包含多个(>=1)线程。

          线程是CPU调度和执行的基本单位。

多线程:真正的多线程是多个CPU同时执行多个线程(多核)

              在只有一个CPU时,是通过快速切换不同的线程,来模拟多核。

              实际上,在具体的一刻,只能执行一个线程。

2.概述

  • 线程之间是相互独立的,有自己的内存工作空间
  • main()为系统的主线程,是执行的入口
  • 并发控制:解决多个线程竞争同一份资源的问题
  • 线程会带来额外的开销,例如并发控制开销,CPU调度时间

3.创建线程

  • 继承Thread类
  • 实现Runnable接口
  • 实现Callable接口

4.继承Thread类来创建线程

步骤:

  • 定义一个类继承Thread类
  • 重写run()方法
public class D7 extends Thread{
    @Override
    public void run() {
        int n = 100;
        for(int i=0;i<n;i++){
            System.out.println("This is thread " + i);
        }
    }
}

  • 创建该类,调用start()方法
public static void main(String[] args) {
        D7 d7 = new D7();
        d7.start();

        int n = 100;
        for(int i=0;i<n;i++){
            System.out.println("This is main Thread " + i);
        }

    }

执行结果:

可以开出确实是交替执行了两个线程

如下图所示,调用该类的run(),就是正常的执行流程,调用start()便会多线程执行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/170793.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

gma 1.1.2 (2023.01.14) 更新日志(重大更新:开始支持空间绘图)

重大更新&#xff1a;从本版本开始&#xff0c; gma 逐步 支持空间绘图功能&#xff08;依赖 matplotlib&#xff09;&#xff01; 获取 gma 1.1.2 1、百度网盘&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1eT2rJRiUDJuJkWeLJNL-cw?pwdb07n 提取码&#xff1a;b…

基于SIMULINK的动力电池CAN通信仿真教程

在真实的整车开发过程中&#xff0c;整车厂一般会先设计出整车网络架构&#xff0c;并依据此架构及ECU之间的功能交互设计网络总线数据库&#xff08;Database&#xff09;, 作为重要的技术文档&#xff0c;可以根据需 要全部或部分地公开给各个ECU供应商。也存在一些特殊情况&…

【渗透测试】web端姿势-前端利用

目录 前端 存在问题 关于密码重置 jwt攻击 jwt介绍 工具使用 学习来源 前端 存在问题 任意用户注册 未授权访问&#xff0c;直接访问对应链接&#xff0c;可得到系统权限 可爆破用户名 爆破用户名&#xff0c;密码 用户名注入 万能密码 用户名Xss 修改返回包信息&#…

(三)计算机组成原理——总线

文章目录&#xff08;三&#xff09;计算机组成原理——总线总线的基本概念单总线双总线面向CPU以存储器为中心总线的分类片内总线系统总线数据总线地址总线控制总线通信总线总线特性及性能指标总线特性机械特性电气特性功能特性时间特性性能指标总线标准总线结构单总线多总线双…

3.1 python高阶应用

文章目录闭包装饰器设计模式单例模式工厂模式多线程进程、线程和并行执行多线程编程网络编程服务端开发客户端开发正则表达式基础匹配元字符匹配递归闭包 def account_create(inital_account 0) :def atm(num:int,deposite:bool True) :# 声明inital_account是外部声明的init…

【Ajax】服务器的基本概念

一、客户端与服务器上网的目的通过互联网的形式来获取和消费资源。2. 服务器上网过程中&#xff0c;负责存放和对外提供资源的电脑&#xff0c;叫做服务器。3. 客户端上网过程中&#xff0c;负责获取和消费资源的电脑&#xff0c;叫做客户端。二、URL地址URL地址的概念URL&…

工业互联网2022:第一梯队成型、专精玩家突围

文|智能相对论作者|沈浪回顾2022年&#xff0c;市场依旧对工业互联网领域保持着高度的热情与专注。近期&#xff0c;IDC、Gartner等各大国际研究机构接连发布多份工业互联网相关报告&#xff0c;包括《2022年度中国工业互联网平台企业侧市场分析报告》《2022年度工业互联网平台…

唯一杰出级!百度智能云曦灵获信通院权威认证

​中国信通院公布“数字人系统评测结果” 百度智能云曦灵平台 继首批通过48项基础能力评测后 在第二轮性能分级评测中 以超高分获得行业唯一“杰出级”证书 代表了当前数字人的最高标准 该评测标准依托国际电信联盟&#xff08;ITU&#xff09;、中国通信标准化协会&#xff08…

JNPF低代码开发平台 全新版本 使用讨论 多用户商城系统源码 框架源码部署文档

JNPF快速开发平台是一套成熟的快速开发框架&#xff0c; JNPF作为承重墙&#xff0c;强大支撑保障&#xff0c;提供所有操作系统的生长土壤&#xff0c;JNPF快速开发平台采用前后端分离技术、采用B/S架构开发&#xff0c;形成一站式开发多端&#xff08;APPPC&#xff09;使用&…

【手写 Vue2.x 源码】第二十九篇 - diff算法-节点比对

一&#xff0c;前言 上篇&#xff0c;diff 算法问题分析与 patch 方法改造&#xff0c;主要涉及以下几点&#xff1a; 初始化与更新流程分析&#xff1b;问题分析与优化思路&#xff1b;新老虚拟节点比对模拟&#xff1b;patch 方法改造&#xff1b; 下篇&#xff0c;diff 算…

Mysql的锁问题:

Mysql的锁问题&#xff1a; 1.1锁的概述&#xff1a; ​ Mysql锁的机制比较简单&#xff0c;不同的存储引擎支持不同的锁机制&#xff1a;MyISAM和MEMORY存储引擎支持表级锁&#xff1b;DBD支持页面锁&#xff0c;但是它也支持表级锁&#xff1b;InnoDB既支持行级锁也支持表级…

23-1-18 文件上传

步骤 file01 / file02 分别是两台java服务 功能: 主要负责接收用户上传的文件存储在指定目录 并记录(上传时间、上传人、文件信息(大小&#xff0c;源文件名&#xff0c;存储后的文件名 ....) 文件权限(共享、私有))。负责接收处理用户的下载请求&#xff0c;用户可以根据文件…

【开发Log】C++QT连连看

1.10开发的初衷是闲来无事开了把宠物连连看&#xff0c;然后发现打了几遍第一关都过不去&#xff0c;于是想自己写个&#xff0c;这样就可以任意使用提示次数了&#xff08;bushi。其实今天正好是老妈生日&#xff0c;问了下老妈她竟然还玩连连看&#xff0c;还ak了orz。于是乎…

分布式理论

目录 1.定义 2.关键技术 3.关键问题 4.基本定理 4.1.CAP定理 4.2.BASE定理 1.定义 分布式的本质是一系列计算机集群通过网络共同完成一串连贯的任务。 2.关键技术 分布式主要关注的几个关键点技术是&#xff1a; 性能容错通信 性能&#xff1a; 可扩展性&#xff0c…

深度学习入门基础CNN系列——池化(Pooling)和Sigmoid、ReLU激活函数

想要入门深度学习的小伙伴们&#xff0c;可以了解下本博主的其它基础内容&#xff1a; &#x1f3e0;我的个人主页 &#x1f680;深度学习入门基础CNN系列——卷积计算 &#x1f31f;深度学习入门基础CNN系列——填充&#xff08;padding&#xff09;与步幅&#xff08;stride&…

Acwing - 算法基础课 - 笔记(数学知识 · 三)(补)

数学知识&#xff08;三&#xff09; 这一小节讲的是高斯消元&#xff0c;组合数。 高斯消元 高斯消元是用来解方程的&#xff0c;通常来说可以在 O(n3)O(n^3)O(n3) 的时间复杂度内&#xff0c;求出包含 n 个未知数的&#xff0c;n个方程的多元线性方程组的解。如下的方程组…

人机界面石油行业应用:一个设备构建石油罐区状态监测系统

一、应用背景 石油罐区是石油石化企业重要的生产设施&#xff0c;负责存储和输送各类油品&#xff0c;而石油罐区状态参数的监控是生产管理的重要部分&#xff0c;不仅可以及时准确地获取现场设备数据&#xff0c;保证罐区的正常运行&#xff0c;还可以防止安全事故的发生。 …

Python如何解决“快手滑块验证码”(4)

前言 本文是该专栏的第32篇,后面会持续分享python的干货知识,记得关注。 很多时候,我们打开一个页面还没开始进行浏览,就跳出一个滑块验证的图片,需要拖到滑块至缺口处,才可以正常浏览。这对于我们正常人浏览页面来说,几乎没什么难度,但是当我们需要用到脚本去实现的时…

本地服务器如何让外网远程桌面连接?

远程访问是远程办公和服务器管理常用的网络应用场景。那么&#xff0c;当我们需要面对远程目标主机是内网服务器电脑时&#xff0c;在不是同个局域网的跨网环境下&#xff0c;内网可以远程控制电脑吗&#xff1f;答案是可以&#xff0c;使用快解析内网映射方案就能实现将本地服…

MyBatis一级缓存 二级缓存

MyBatis一级缓存 二级缓存什么是缓存?一级缓存一级缓存失效的四种情况二级缓存怎样开启二级缓存使二级缓存失效的情况二级缓存相关配置缓存查询的数据顺序整合第三方缓存EHCache&#xff08;代替二级缓存&#xff09;什么是缓存? 这是一个地图软件上的根据城市查询模块,对于那…