day35 线程

news2025/1/16 17:43:00

程序:是为了完成特定的任务,用某种语言编写的一组有序指令的集合,是一段静态的代码

进程:是程序的一次执行过程

线程:线程是进程中的一个执行单元

线程是调度和执行的单位

处理器和线程间的关系

创建线程(重点)

  1. 创建线程的四种方式

    • 继承Thread,重写run方法

    • 实现Runnable接口,重写run方法(必须掌握)

    • 实现Callable接口,重写call方法

    • 通过线程池

继承Thread,重写run方法 

Mythead1 a = new Mythead1();

a.start();

 

 实现Runnable接口,重写run方法(必须掌握)

创建线程方式二  实现Runable接口  重写run方法
* 继承Thread 重写run方法优点在于结构简单  匿名内部类方法创建推荐使用这种方式
* 缺点有两个
* 1由于java是单继承的  ,会导致一个类如果继承了Thread 就无法继承其他类
* 2直接重写run方法 在线程中导致线程与线程执行的任务绑定 。不利于线程的重用
MyThread1 a = new MyThread1();
Thread t = new Thread(a);
t.start();

实现Callable接口,重写call方法

 

* 无论是第一种还是第二种方法
* 无论是继承Thread  还是实现Runnable接口
* 1没有返回值
* 2不能抛出异常
* jdk1.5以后出现了第三种创建线程的方法  实现Callable接口 重写call方法
* 实现Callable接口创建线程方式的好处  1方法有返回值 2。可以抛异常
* 不足 是 创建线程比较麻烦
MyCallable1 a = new MyCallable1();
FutureTask f = new FutureTask(a);
Thread thread = new Thread(f);
thread.start();

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

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

相关文章

时序分解 | MATLAB实现MVMD多元变分模态分解信号分量可视化

时序分解 | MATLAB实现MVMD多元变分模态分解信号分量可视化 目录 时序分解 | MATLAB实现MVMD多元变分模态分解信号分量可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 MVMD多元变分模态分解 可直接替换Excel运行包含频谱相关系数图 Matlab语言 1.算法新颖小众&…

LTGNet-超分辨率OCTA图像分割

目录 一、摘要 二、引言 三、方法 A. Reference-based框架 B. Learnable Texture Generator 四、实验 五、总结 一、摘要 研究背景:光学相干断层血管成像(OCTA)是一种新的视网膜微血管成像方式,已广泛应用于临床。 高分辨率OCT血管造影对于定性和…

Brief. Bioinformatics2023 | 利用深度学习和分子动力学模拟设计抗菌肽

文章标题:Designing antimicrobial peptides using deep learning and molecular dynamic simulations 代码:https://github.com/gc-js/Antimicrobial-peptide-generation 一、问题 PandoraGAN使用手动策划的130个高活性肽的训练数据集,其…

第11章_瑞萨MCU零基础入门系列教程之SysTick

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id728461040949 配套资料获取:https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总: ht…

QTabWidget当tab位置在左右时,设置文字方向朝上

QTabWidget当tab位置在左右时,设置文字方向朝上解决方案 方案一:调用setTabButton()方法方案二:重写QTabBar方案三:重写QProxyStyle 当用QTabWidget控件时,默认是下方显示: 如果想左侧或右侧显示tab页&…

upload-labs文件上传漏洞通关

一、环境搭建 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。 下载地址:https://github.com/c0ny1/upload-labs/releases 在 win 环境下 直接解压到phpstudy下即可 二、通关 (一)16关…

【leetcode 力扣刷题】删除字符串中的子串or字符以满足要求

删除字符串中的子串或者字符以满足题意要求 1234. 替换子串得到平衡字符串680. 验证回文串917. 仅仅反转字母 1234. 替换子串得到平衡字符串 题目链接:1234. 替换子串得到平衡字符串 题目内容: 题目中给出了平衡字符串的定义——只有’Q’,…

【C++】详解std::thread

2023年9月10日,周日下午开始 2023年9月10日,周日晚上23:35完成 虽然这篇博客我今天花了很多时间去写,但是我对std::thread有了一个完整的认识 不过有些内容还没完善,以后有空再更新.... 目录 头文件类的成员类型方法(construc…

GDB用法(三)

预备 测试代码参照GDB用法(二) 命令历史 可以将命令历史保存到文件中 (show history) 展示当前gdb中history的设置信息 设置expansion (set history expansion) 打开历史扩展 能使用历史处理命令对历史数据进行处理, 暂不细究 (show history expansion) 展示历史扩展配置…

《JDK17新特性和代码案例演示》

《JDK17新特性和代码案例演示》 🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全…

sqli --【1--10】

Less-1(联合查询) 1.查看是否有回显 2.查看是否有报错 3.使用联合查询(字符注入) 3.1判断其列数 3.2 判断显示位置 3.3敏感信息查询 Less-2(联合查询) 1.查看是否有回显 2.查看是否有报错 3.使用…

[学习笔记]词向量模型-Word2vec

参考资料: 【word2vec词向量模型】原理详解代码实现 NLP自然语言处理的经典模型Word2vec 论文背景知识 词的表示方法 One-hot Representation:独热表示 简单,但词越多,向量越长。且无法表示词与词之间的关系。 论文储备知识-pr…

Ae 效果:CC Scatterize

模拟/CC Scatterize Simulation/CC Scatterize CC Scatterize(CC 散射)主要用于模拟将对象散射为颗粒状的效果。 CC Scatterize 的工作原理是:对源图像的 Alpha 通道先进行融解 Dissolve,从而产生随机颗粒,因此改变了源…

安卓系列机型 另类体验第三方系统 DSU操作步骤解析 不影响主系统开启第二系统

dsu loader即 动态系统更新,可以在使用动态分区的安卓设备上,不影响原来系统的同时安装一个副系统,用于体验最新的原生安卓系统。可以不影响主系统的基础上体验其他gsi第三方。DSU 依赖于 Android 动态分区功能,并要求 GSI 作为可…

博客系统(升级(Spring))(二)获取当前用户信息、对密码进行加密、设置统一数据格式、设置未登录拦截、线程池

博客系统(二) 博客系统获取当前用户的信息对密码进行加密和解密的操作设置统一的数据返回格式设置未登录拦截设置线程池 博客系统 博客系统是干什么的? CSDN就是一个典型的博客系统。而我在这里就是通过模拟实现一个博客系统,这是…

精品基于SpringCloud实现的高校招生信息管理系统-微服务-分布式

《[含文档PPT源码等]精品基于SpringCloud实现的高校招生信息管理系统-微服务-分布式》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等 软件开发环境及开发工具: 开发语言:Java 框架:springcloud JDK版本&#x…

【环境配置】基于Docker配置Chisel-Bootcamp环境

文章目录 Chisel是什么Chisel-Bootcamp是什么基于Docker配置Chisel-Bootcamp官网下载Docker安装包Docker换源启动Bootcamp镜像常用docker命令 可能产生的问题 Chisel是什么 Chisel是Scala语言的一个库,可以由Scala语言通过import引入。 Chisel编程可以生成Verilog代…

C高级day3(shell指令)

一、Xmind整理: 二、上课笔记整理: 1.定义一个变量,把第11个外部参数的值,赋值给该变量并输出,再输出外部参数的个数 var3${11} echo $var3 echo $# 2.定义一个变量num,使用num获取root用户,…

腾讯事务处理技术验证系统3TS-Coo模板安装文档说明文档(小白向,简单轻松就能上手)

本篇文章将详细说明3TS-Coo模板的安装和使用,帮助您快速上手项目 第一部分是简单的基础Docker相关概念,精炼的几句小白话快速理解即可; 第二部分是快速安装项目环境的安装文档,简单几行命令搞定,小白也能轻松上手&…

12. Xaml Calendar控价 时间控件-->像挂历

1.运行图片 2.运行源码 a.xaml 源码 <Grid Name="Grid1"><!--DisplayMode="Month" 按照什么模式显示DisplayDateStart="2023-2-10" 显示时间的起始时间DisplayDateEnd="2023-8-30" 显示时间的结束时间IsTodayH