关于java的多线程初识

35:Java多线程:初识Java多线程 本文是java多线程的一个入门的基础知识。首先需要记住这两个单词:Process进程、Thread线程,在说进程和线程之前,还必须说一下 :程序,这个词。程序:是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念。听起来很抽象,这里为了好理解可以将这里的理解为我们写的。代码没有运行就是死的是静态的。进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位。通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。 阅读详情

关于java的多线程初识

我们从今天开始,正式学习java的多线程,我们在前面的文章中学习到了java的基础, 但是距离我们工作实战还差的很远,我们学习好了基础,以后的文章会逐步的深入,去讲解各种前端框架,微服务等等😀

线程简介

  • 任务
  • 进程
  • 线程
  • 多线程

一、任务

  • 多任务

比如我们过年吃饭,是一个”任务“,但是吃饭的时候我们玩手机抢红包,就是第二个“任务”,边吃饭边玩手机,就是一个人同时做两个任务,又比如,我们在开车的时候打电话,也是在进行多任务。

现实生活中太多这样同时做多种事的例子了,看起来是多个任务都在做,其实本质上我们的大脑在同一时间依旧只是做了一件事。

二、多线程

  • 多线程:java.thread

在我们的生活中,多线程非常的常见,比如说我们经常玩的王者荣耀,英雄联盟这类游戏,和同学一起开黑,可以看到在一个画面里面,但是又做着不同的事情,又比如微信聊天,我们在聊天的时候,可以同时发消息。

我们在小时候玩过暴力摩托的游戏,只有一条车道,所以只能通过暴力的方式走到终点🤣

但是慢慢的车多了,一条路严重堵塞,效率太低了,所以为了提升效率,也为了充分利用道路,增加了一条车道。

比如程序开发中的购票系统,如果只能按照一个人一个人去走,那效率会极低,所以考虑到并发多线程的方式去解决开发中不少低效率的点,让程序更加贴切生活,创造价值。

三、普通方法调用和多线程

在这里插入图片描述

四、程序的进程和线程

  • Process:进程

  • Thread:线程

  • 在操作系统中,运行的程序就是进程,比如微信,播放器,游戏,开发工具等等。

我们在看用播放软件看电影的时候,会听到声音,看到图像,看到字幕,这个播放软件是一个进程,里面这些东西是很多线程。

  • 一个进程可以有多个线程,就像弹幕,图像等。

  • 程序,是指令和数据的有序集合,本身没有运行的含义,是一个静态的概念。

  • 进程,是执行程序的一次执行过程,它是一个动态的概念,是系统资源分配的单位。

  • 线程,是一个进程中可以包含若干个,一个进程中至少有一个线程,不然没有存在的意义,线程是CPU调度和执行的单位。

  • 注意:很多多线程是模拟出来的,真正的多线程是指有多个cpu,即多核,如服务器。如果是模拟出来的多线程,即在一个cpu的情况下,在同一个时间点,cpu只能执行一个代码,因为切换的很快,所以就有同时执行的错局。

五、本章核心概念

  • 线程就是独立的执行路径。
  • 在程序运行时,即使没有自己创建线程,后台也会有多个线程,主线程:main,垃圾回收线程:gc
  • main()称之为主线程,为系统的入口用于执行整个程序。
  • 在一个进程中,如果开辟了多个线程线程的运行由调度器安排调度,调度器是与操作系统紧密相关的,先后顺序是不能人为的干预的。
  • 对同一份资源操作时,会存在资源抢夺的问题,需要加入并发控制。
  • 线程会带来额外的开销,如cpu调度时间,并发控制开销。
  • 每个线程在自己的工作内存交互,内存控制不当会造成数据不一致。
ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory解决方案 本文主要介绍了ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory解决方案,希望能对使用Python的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案 阅读详情

相关推荐

黑马程序员Pink的javaScript课程APIday4

本文摘要:介绍了JavaScript中日期对象的实例化方法(有参/无参)及三种获取时间戳的方式。讲解了DOM节点操作,包括节点查找(父、子、兄弟节点)、增加/克隆/删除节点的方法。详细说明了移动端touch事件和Swiper插件的使用,包括自动播放和小圆点配置。最后提及学成在线案例中表单验证和取消默认跳转的实现。

JLY19970726的博客 825

初识JAVA多线程(一)

初识JAVA多线程(一)什么是多线程?程序、进程与线程多线程的实例多线程的优点线程的创建与使用三种创建方式及调用方式(1)继承Thread类实现Runnable接口实现Callable接口多线程的实现原理-------------静态代理模式Lamda表达式线程的状态线程的生命周期及状态监测线程的状态改变的常用方法线程休眠---sleep线程礼让---yield线程的插队---join线程的优先级...

weixin_44636607的博客 710

Python实现微信PC端聊天记录自动化监听与智能回复

本文详细介绍了如何使用Python实现微信PC端聊天记录的自动化监听与智能回复。通过win32api和uiautomation库,模拟人工操作,实时监控聊天窗口并抓取新消息。文章重点讲解了核心代码逻辑、环境搭建步骤,并提供了实现关键词触发自动回复的完整方案,旨在提高工作效率与信息管理自动化水平。

weixin_29092031的博客 346

Java多线程初识

初识多线程 线程是操作系统中CPU运行调度的最小单位,一个进程包含多个线程,每个线程可以执行不同的任务。并发执行可以让程序运行得更快 多线程下的并行、并发 并行 指同一个的时间中,同时执行的线程(两个或以上)。 例如:一台机器需要花10分钟才可以执行完成的任务,两台机器可以拆分任务那么就只需要各5分钟在同一时刻就可以完成,这就代表并行。 注:一个机器可以理解为一个单核的CPU,那么并行就需要多核CPU 并发 多个线程同时请求执行任务,但是在这段时间内就只可以执行一个线程,然而CPU拥有很快的速度,

weixin_43188446的博客 1409

DDoS攻击--Syn_Ack/Ack_Flood等攻击防护详解(TCP)

前言 Syn_Ack/Ack_Flood攻击属于TCP攻击,在了解Syn_Ack/Ack_Flood攻击之前,可以先看看TCP攻击详解。 Syn_Ack Flood 攻击: syn_ack报文出现在连接建立的第2个报文,用来确认第一次握手的syn包。 当服务器收到syn_ack报文后会在系统里查询是否属于3次握手的范畴。如果属于则回复ack,并将连接设为连接状态。若没有查到相关信息,则回复...

一只IT小小鸟 1万+

从频谱入手搞定ESD:手把手教你用示波器和频谱仪分析静电干扰(以Type-C接口为例)

本文详细介绍了如何利用示波器和频谱仪分析Type-C接口的ESD干扰问题。通过频谱特性分析、耦合路径诊断和实战测试,提供了一套完整的ESD防护方案,包括三级防护设计和器件选型建议,帮助工程师有效解决静电放电导致的系统故障。

weixin_42662293的博客 346

初识Java多线程

初识Java多线程进程与线程Java创建多线程ThreadRunnable 进程与线程 进程包含线程 进程是系统分配资源的最小单位,线程是系统调度的最小单位,一个进程内的线程之间可以共享资源 Java创建多线程 Thread Runnable ...

qq_37354060的博客 1042

CVE-2025-25249漏洞深度解析:FortiOS认证绕过与实战缓解

远程代码执行(RCE)是网络安全中最危险的漏洞类型之一,其核心往往源于认证机制失效或内存安全缺陷。CVE-2025-25249正属于此类高危漏洞——它不依赖用户凭证,也不需要交互触发,而是通过超长HTTP头(如X-Forwarded-For)引发内存越界写入,直接绕过FortiOS和FortiSwitchManager的完整认证流程。该漏洞影响广泛、CVSS评分高达9.8,凸显了嵌入式设备在HTTP协议栈实现中的深层风险。在企业网络中,FortiGate等设备常作为边界守门人,一旦失陷将导致root级控制权

weixin_33694620的博客 524

java初识多线程

java初识多线程 文章目录java初识多线程前言1.什么是线程1.1线程的定义1.2线程与进程的区别2.java的多线程2.1java多线程机制2.2主线程3.线程的生命周期与创建3.1线程的生命周期3.2线程的创建3.3目标对象与线程的关系3.3.1目标对象与线程完全解耦3.3.2目标对象组合线程(弱耦合)4.线程常用的方法4.1 start()4.2 run()4.3 sleep()4.4 isAlive()4.5 currentThread()4.6 intrrupt()总结 前言 本文是笔者在

qq_44816011的博客 315

SATA硬件电路设计实战:从接口规范到高速布线技巧

本文深入探讨了SATA硬件电路设计的核心要点与实战技巧。从接口物理电气规范、AC耦合电容与阻抗控制等基础,到FPGA/SoC高速收发器选型配置,再到应对6Gbps高速信号的PCB布局布线艺术,系统性地解析了SATA电路设计中的关键挑战与解决方案,助力工程师规避常见陷阱,实现稳定可靠的存储接口设计。

tech5的博客 531

OceanBase数据库:与MySQL和Oracle的函数差异分析

OceanBase数据库兼容性解析:MySQL与Oracle模式深度比较 摘要:OceanBase通过独特的双模式架构,实现了对MySQL和Oracle的高度兼容。文章首先分析了OceanBase的兼容性架构,包括SQL解析层、优化器层和执行引擎层的差异化设计。随后对比了两种模式在数据类型、SQL语法、函数支持等方面的兼容性差异,其中MySQL模式兼容5.7版本大部分功能,Oracle模式则支持155个内置函数和PL/SQL特性。最后提出了模式选择的六大考量因素,包括现有系统基础、功能需求和迁移成本等,为数

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1228

【Java】初识多线程

本文主要详细介绍了多线程的基础知识,包括多线程引入的原因,线程的特性,在Java中如何创建线程,以及对线程的各种操作,通过此,能够更好的了解多线程的基础知识,为后续问题打下基础。

qq_51914226的博客 673

自建 HTML获取腾讯六宫格点选图片验证码素材,实现刷新批量获取图片方便训练

通过自建 HTML 页面,可以方便地获取腾讯六宫格二维码素材,不仅过程简单,而且可以灵活配置各种参数。希望这篇文章能帮助到需要相关素材的小伙伴。如果你有其他问题或者更好的方法,欢迎留言交流!

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 489

初识 Java 多线程

前言 不论是在技术学习的路线上,还是在面试中,多线程与并发出现的频率越来越高。所以不难看出这也是我们需要重点学习的一部分内容,今天的主要内容就是初始Java多线程,掌握线程的几种创建方式,以及多线程中的静态代理。 正文 首先,先理清楚三个概念:程序、进程、线程。 我们平时写的代码叫做程序,当程序运行起来的时候就成为一个进程,进程中有许多线程在执行。 什么是多线程呢?请看下图 上图左边的部分就是我们平常写代码的流程,在主线程(main)中调用run方法,主线程切换出去去执行run()方法,执行完毕后返回,继

A_D_I_D_A_S的博客 285

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

[Java] 多线程初识

多线程

weixin_65331534的博客 967

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

[从零开始学习JAVA] 初识多线程

本章节我们将开始学习多线程,多线程是一个很重要的知识点,他在我们实际开发中应用广泛并且基础,可以说掌握多线程编写程序是每一个程序员都应当必备的技能,很多小伙伴也会吐槽多线程比较难,但因为其实用性和广泛性,我们一定要学好多线程。

2301_80615512的博客 943

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

java多线程学习——初识多线程

线程的概念 线程是计算机系统中能够独立运行的最基本单位,他们基本不拥有系统资源(系统资源能够分配到的最小单位是进程) 多线程的概念 当一个进程拥有一个以上的线程时,即为多线程。 线程的五种状态 线程的状态分为五种,分别是:New(新建) Runnable(就绪)Running(运行) Block(阻塞) Dead(结束)

十年后的你由现在决定 3342

初识java多线程

概念 java的多线程,是程序运行的时候,在同一时间里处理了多个任务操作,这就是java多线程。 主要是用来提高程序的运行效率,用一个例子来说,一个餐厅只有一个服务员,突然来了大量的顾客,一个服务员帮很多个顾客点餐,很明显效率很慢,这是店长聘请了多个服务员,这是给顾客完成点餐的效率,很明显就快了很多。 线程的五种状态 新建状态(new):通过某种方式创建的线程对象比如new 就绪状...

筱安 351

Java多线程之初识线程

文章目录实现多线程的两种方式区别继承Thread示例实现Runnable接口示例start()的执行步骤 实现多线程的两种方式 1、继承Thread类; 2、实现Runnable接口。 区别 Java语言是单继承的,使用实现Runnable方式创建线程,可以实现多继承。 继承Thread示例 public class MyThread extends Thread { @Override public void run() { super.run(); Sys

用文字记录下每一个瞬间的感动和每一次思考的火花 9万+

Java初识多线程

线程实现(重点) Thread(线程不一定立即执行,CPU安排调度) 自定义线程类继承Thread类 重写 run()类,编写线程执行体 创建线程对象,调用start()方法启动线程 案例1: 多线程的执行顺序 package Thread; //创建线程方式一:继承Thread类,重写run()方法, 调用start开启线程 //总结:注意 线程开启不一定立即执行 ,由CPU调度执行 public class TestThread extends Thread { public v

AOOOOO李 330

Java 多线程初识

1.什么是线程?与进程有什么区别? 线程是指程序在执行过程中,能够执行程序代码的一个执行单元。在java语言中,线程有4中状态:运行、就绪、挂起和结束。 进程是指一段正在执行的程序。在操作系统级别上,程序的执行都是以进程为单位的,而每个进程中通常都会有多个线程互不影响地并发执行。 1.1 为什么要使用多线程 (1)发挥多核CPU的优势 随着工业的进步,现在的笔记本、台式机乃至商用的应用服务器至少也都是双核的,4核、8核甚至16核的也都不少见,如果是单线程的程序,那么在双核CPU上就浪费了50%,在4核CPU

u013507760的专栏 270

Java多线程—初识篇

文章目录一、认识线程1.1概念 一、认识线程 1.1概念

莫予笙的博客 1115
上一篇: 关于java的异常处理
下一篇: 关于java继承Thread类
落满樱花的羊
博客等级 码龄5年 1021粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值