多线程Thread

线程Thread简介

任务、线程、金城、多线程

多任务:短时间切换不同得任务

多线程:通过同一条道路,增加道多条道路,提高使用率,解决堵塞问题

普通方法调多线程只有主线一台执行路径是主线程调run()方法,方法执行解决之后再继续向下执行。

多线程的方法是主线程和子线程并行,交替执行。主线程走主线程的,子线程走子线程的,多条路径执行,可以同时间做很多事情。

进程Process实现

一个进程可以执行多个线程

Thread与Process

1.一台机器上运行着多个程序,一个程序就是一个进程。程序是指令和数据德有序集合,本身是没有含义的是一个静态的概念。

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

3.通常再一个进程中可以包含若干个线程,一个进程终至少有一个线程,不然灭有存在的意义。线程是cpu调度和执行的单位

一个进程可以拥有多个线程,多个线程之间是互不影响的关系

核心概念

1.线程是独立的执行路径

2.在程序运行时,及时自己没有主动的去创建线程,后台也会有多个线程,如主线程和gc(垃圾回收)线程

3.main()方法就是主线程,是系统的入口,用于执行整个程序。

4.多线程的运行是由调度器(cpu)调度器安排调度,先后顺序不能认为干预。

5.多线程往往会同事操作一份资源,存在资源巧夺的问题,这里就有了并发控制的概念和需要

6.线程越多对cpu资源分配的时间和并发控制有影响

7.多线程之间如果并发控制没有做好,会导致多线程之间内存交互,最终导致底层数据不一致的问题

线程创建

Thread、runnable、callable

现成的创建有三种方法

1.继承Thread类

2.实现Runnable接口

3.实现Callable接口

注:Thread类就是实现的Runnable接口

继承Thread类

步骤:

1.自定义线程类继承Thread方法

2.重写run()方法,编写线程执行体

3.创建对象,调用start()方法启动线程

注:线程开始不一定立即执行,由cpu调度安排

实现Runnable接口

1.自定义Runnable实现类实现Runnable接口

2.实现run()方法,白那些线程执行体

3.创建线程Thread对象,调用start()方法启动线程

线程状态

线程同步

线程通信问题

其他

程序运行后会有很多进程,每个进程都由一个或多个线程完成,

在实际项目里怎么把任务加入线程,线程怎么管理

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

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

相关文章

LlamaFactory可视化微调大模型 - 参数详解

LlamaFactory 前言 LLaMA Factory 是一个用于微调大型语言模型的强大工具,特别是针对 LLaMA 系列模型。 可以适应不同的模型架构和大小。 支持多种微调技术,如全参数微调、LoRA( Low-Rank Adaptation )、QLoRA( Quantized LoRA )等。 还给我们提供了简单实用的命令行…

activiti6学习

activiti6使用教程 activiti的数据库表结构主要分为五类: 数据表分类 描述 ACT_GE_* 通用数据表(GE表示General) ACT_RE_* 流程定义存储表(RE表示Repository) ACT_ID_* 身份信息表(ID表示Identity&#x…

Odoo免费开源ERP如何处理汽车零部件企业的OE编码问题

业务背景 汽车零部件企业在每个汽配零件都有OE编号,即原厂编号,Original Equipment Number。一个配件,可能可以在多个车型上使用,对应的,就有多个可兼容的OE编号。 客户下单时候,直接报OE编号&#xff0c…

集合与最大公因数

题目链接 三个小性质 1.相邻两个数互质,如5,6 2.连续三个奇数互质,如1,3,5 3.连续两个偶数必定有公因子,如2,4 对于这题我们要让四个数两两最大公约数为k,也就是说这四个数除了约数k以外没有其他公约数了,也就是如果我们把k都除掉,剩下四…

C语言 统计文章中的字符种类

有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字 母、小写字母、数字、空格以及其他字符的个数。 #include <stdio.h>int main() {char text[3][80] {"This is a line of text 123.","Another line, with more Characters!"…

objc_object 与 objc_class 是一定要了解的底层结构

入门 在 Objective-C 中&#xff0c;objc_object 和 objc_class 是运行时系统的核心结构&#xff0c;用于表示对象和类。理解它们的结构和关系对于掌握 Objective-C 的运行时机制非常重要。 objc_object 结构 objc_object 结构代表一个 Objective-C 对象。每个 Objective-C …

Python数据处理之高效校验各种空值技巧详解

概要 在编程中,处理空值是一个常见且重要的任务。空值可能会导致程序异常,因此在进行数据处理时,必须确保数据的有效性。Python 提供了多种方法来处理不同数据对象的空值校验。本文将详细介绍如何对Python中的各种数据对象进行空值校验,并包含相应的示例代码,帮助全面掌握…

高速电吹风方案介绍,多档温度风速调节,转速可达105000RPM

高速电吹风是这几年很火的一种电动小家电&#xff0c;能够在较短时间内完成头发干燥&#xff0c;减少对头发的热损伤。可以通过高速电机和风扇来产生高速风流&#xff0c;迅速将头发表面的水分吹干。高速电吹风通常配有多种档位风速和温度可以设置&#xff0c;用户可以根据需要…

大数据笔记--kafka工具AKHQ

目录 一、项目背景 二、项目目标 三、项目部署 1、前提条件 2、流程 2.1、准备工作 2.2、安装AKHQ 2.3、配置AKHQ 2.4、启动AKHQ 四、验证 一、项目背景 日常运维工作中&#xff0c;越来越多的团队成员&#xff0c;包括开发人员、数据分析师和业务运营团队&#xff0…

Linux——开发工具

1.yum yum是centos中的一个软件下载安装管理客户端&#xff0c;可以下载需要的软件或者解决依赖关系问题&#xff08;如动态库&#xff09;。程序都是来源于一段源代码&#xff0c;为了方便下载&#xff0c;源代码被提前在不同的环境下编译好生成对应的yum软件包&#xff0c;存…

运营商如何通过PCDN技术提高用户服务

随着网络技术的快速发展&#xff0c;用户对网络服务的要求也在不断提高。为了满足这些需求&#xff0c;运营商需要不断创新和优化自身的技术和服务。而 PCDN (Personal Content Delivery Network)技术作为一种新兴的内容分发网络解决方案&#xff0c;为运营商提高用户服务提供了…

k8s离线部署芋道源码后端

目录 概述实践Dockerfilek8s部署脚本 概述 本篇将对 k8s离线部署芋道源码后端 进行详细的说明&#xff0c;对如何构建 Dockerfile&#xff0c;如何整合 Nginx&#xff0c;如何整合 ingress 进行实践。 相关文章&#xff1a;[nacos在k8s上的集群安装实践] k8s离线部署芋道源码前…

Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统

文章目录 Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统TFTP服务搭建测试 NFS服务搭建测试 uboot配置TFTP服务搭建测试 NFS服务搭建测试 U-BOOT配置 Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统 TFTP服务搭建 sudo apt install tftpd-hpa su…

智能车载防窒息系统设计

摘要 随着汽车行业的快速发展&#xff0c;车辆安全问题越来越受到人们的关注。其中&#xff0c;车载防窒息系统是一项重要的安全设备。本论文基于STM32单片机&#xff0c;设计了一种智能车载防窒息系统。该系统主要包括氧气浓度检测模块、温湿度检测模块、声音检测模块、光线检…

『ComfyUI』从小白到入门全套教程,奶奶看了都会了!赶紧收藏!

本文简介 Stable Diffusion WebUI 应该是大多数人第一次接触 SD 绘画的工具&#xff0c;这款工具简单易上手&#xff0c;但操作流程相对固定。如果你想拥有更自由的工作流&#xff0c;可以试试 ComfyUI。而且很多新的模型和功能在刚出现时 ComfyUI 的支持度都比较高&#xff0…

拥抱应用创新,拒绝无谓的模型竞争

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

TikTok海外运营,云手机多种变现方法

从现阶段来看&#xff0c;TikTok 的用户基数不断增长&#xff0c;已然成为全球创业者和品牌的全新竞争舞台。其用户数量近乎 20 亿&#xff0c;年轻用户占据主导&#xff0c;市场渗透率也逐年提高。不管是大型企业、著名品牌&#xff0c;还是个体创业者&#xff0c;都绝不能小觑…

matlab 有倾斜的椭圆函数图像绘制

matlab 有倾斜的椭圆函数图像绘制 有倾斜的椭圆函数图像绘制xy交叉项引入斜线负向斜线成分正向斜线成分 x^2 y^2 xy 1 &#xff08;负向&#xff09;绘制结果 x^2 y^2 - xy 1 &#xff08;正向&#xff09;绘制结果 有倾斜的椭圆函数图像绘制 为了确定椭圆的长轴和短轴的…

最新Wireshark查看包中gzip内容

虽然是很简单的事情&#xff0c;但是网上查到的查看gzip内容的方法基本都是保存成zip文件&#xff0c;然后进行二进制处理。 其实现在最新版本的Wireshark已经支持获取gzip内容了。 选中HTTP协议&#xff0c;右键选择[追踪流]->[HTTP Stream] 在弹出窗口中&#xff0c;已…

从“技术驱动”向“应用驱动”

李彦宏在2024世界人工智能大会上的发言深刻揭示了当前AI技术发展的核心趋势与方向&#xff0c;强调了从“技术驱动”向“应用驱动”转变的重要性&#xff0c;这一观点极具前瞻性和实践指导意义。 对李彦宏发言的理解 技术与应用并重&#xff0c;但应用为先&#xff1a;李彦宏指…