学习JAVA的第二十一天(基础)

多线程

线程:

                线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。

进程:

                程序的基本执行实体

 并发:

                同一时刻,有多个指令在单个CPU上交替执行

并行:

                 在同一时刻,有多个指令在多个CPU上同时执行
 

多线程的实现方式:

  1. 继承Thread类的方式进行实现
  2. 实现Runnable接口的方式进行实现
  3. 利用Callable接口和Future接口方式实现

Thread类 

 public static void main(String[] args) {//1.定义类继承Thread类//2.重写run方法//3.创建子类的对象,并启动线程//创建MyThread对象MyThread t1 = new MyThread();MyThread t2 = new MyThread();//取名字,方便等会运行看结果t1.setName("线程1");t2.setName("线程2");//开启线程t1.start();t2.start();}

 Runnable接口          

 public static void main(String[] args) {//1.定义一个类实现Runnable接口//2.重写run方法//3.创建自己类的对象//4.创建Thread类的对象,并启动线程//创建自己类的对象MyRun mr = new MyRun();//创建Thread类的对象,并启动线程Thread t1 = new Thread(mr);Thread t2 = new Thread(mr);//设置名字t1.setName("线程1");t2.setName("线程2");//开启线程t1.start();t2.start();}

Callable接口和Future接口

  public static void main(String[] args) throws ExecutionException, InterruptedException {//1.创建一个类MyCallable实现Callable接口//2.重写call(有返回值)//3.创建MyCallable的对象(表示要执行的任务)//4.创建FutureTask的对象(管理多线程运行的结果)//5.创建Thread的对象,并启动线程//创建MyCallable对象MyCallable mc = new MyCallable();//创建FutureTask的对象FutureTask<Integer> ft  = new FutureTask<>(mc);//创建Thread的对象,并启动线程Thread t1 = new Thread(ft);t1.start();//获取多线程的结果System.out.println(ft.get());}

成员方法


 


 

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

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

相关文章

HTML本地离线缓存?

在 HTML5 中&#xff0c;提供了一种本地离线存储的机制&#xff0c;即应用程序缓存&#xff08;Application Cache&#xff09;。通过应用程序缓存&#xff0c;可以使 Web 应用程序在离线状态下继续访问&#xff0c;并提高应用程序的加载速度和性能。以下是应用程序缓存的基本工…

【C语言】Windows下的C语言线程编程详解

文章目录 1. 头文件1.1 windows.h1.2 process.h 2. 创建线程3. 线程同步3.1 线程同步方式3.1 互斥量&#xff08;Mutex&#xff09;3.2 事件&#xff08;Event&#xff09; 4. 线程的结束与资源管理5.线程池&#xff08;简要&#xff09; 在Windows平台下&#xff0c;C语言提供…

活动会议线上直播,如何扩大曝光?媒体直播分流解析

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 线上直播扩大曝光与媒体直播分流解析 一、扩大曝光策略&#xff1a; 平台选择&#xff1a;选择用户基数大、活跃度高的直播平台进行直播。 预告宣传&#xff1a;提前发布直播预告&…

k8s-Istio服务网络 27

官网&#xff1a;https://istio.io/latest/zh/about/service-mesh/ Istio与k8s的区别 SpringCloud传统微服务结合k8s与Istio与k8s结合&#xff1a; Istio数据面&#xff1a;通过envoy以sidecar方式拦截svc的流量来进行治理。 Istio控制面&#xff1a;pilot list/watch APIserv…

Flask学习(二):flask模板渲染

Flask没有自己模板引擎&#xff0c;使用的是 jinja2 模板引擎&#xff0c;可以帮助我们将数据渲染到各种格式的文档中&#xff0c;如 HTML、XML、Markdown 等。 中文文档地址&#xff1a;Jinja2中文文档_w3cschool 程序示例&#xff1a; from flask import Flask, render_te…

HarmonyOS NEXT应用开发之异常处理案例

介绍 本示例介绍了通过应用事件打点hiAppEvent获取上一次应用异常信息的方法&#xff0c;主要分为应用崩溃、应用卡死以及系统查杀三种。 效果图预览 使用说明&#xff1a; 点击构建应用崩溃事件&#xff0c;3s之后应用退出&#xff0c;然后打开应用进入应用异常页面&#x…

nginx启动闪退

在nginx目录下cmd&#xff0c;nginx -t&#xff0c;找到原因是&#xff1a;“在端口80上运行NGINX时&#xff0c;因为端口80是HTTP默认端口&#xff0c;需要管理员权限才能访问” 所以修改端口号&#xff1a; 在nginx.conf文件中&#xff0c;修改listen&#xff1a;80为8080 …

【C++】类的默认成员函数(下)

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 一、运算符重载1.1 引例1.2 概念及运用&#xff1a;1.3 牛刀小试:1.4 重载1.5 运…

QT TCP通信介绍

QT是一个跨平台的C应用程序开发框架&#xff0c;它提供了一套完整的工具和库&#xff0c;用于开发各种类型的应用程序&#xff0c;包括图形用户界面(GUI)应用程序、命令行工具、网络应用程序等。QT提供了丰富的功能和类来简化网络通信的开发&#xff0c;其中包括TCP通信。 TCP…

C++面试100问!(二)

怎么定义常量的&#xff1f;常量存放在内存的哪个位置&#xff1f; 常量在C里的定义就是一个const加上对象类型&#xff0c;常量定义必须初始化。对于局部对象&#xff0c;常量存放在栈区&#xff0c;对于全局对象&#xff0c;常量存放在全局/静态存储区。对于字面值常量&#…

Linux-轻量级数据库sqlite函数接口-016

1 1.1【sqlite3_open】 1.1.1函数原型 【int sqlite3_open(const char *filename, /* Database filename (UTF-8) */sqlite3 **ppDb /* OUT: SQLite db handle */);】1.1.2函数功能 打开数据库文件(创建一个数据库连接)1.1.3函数参数 【filename】&#xff1a;…

Element Plus与Ant Design Vue:选型对比

在Vue.js的开发过程中&#xff0c;选择合适的UI框架对于项目的成功至关重要。Element Plus和Ant Design Vue作为两个热门的Vue UI框架&#xff0c;各自拥有独特的特点和优势。本文将从多个维度对这两个框架进行对比&#xff0c;帮助开发者在选择时做出明智的决策。 一、框架版…

Python网络基础爬虫-python基本语法

文章目录 逻辑语句if,else,elifforwhile异常处理 函数与类defpassclass 逻辑语句 熟悉C/C语言的人们可能很希望Python提供switch语句&#xff0c;但Python中并没有这个关键词&#xff0c;也没有这个语句结构。但是可以通过if-elif-elif-…这样的结构代替&#xff0c;或者使用字…

目标检测——YOLOv2算法解读

论文&#xff1a;YOLO9000: Better, Faster, Stronger 作者&#xff1a;Joseph Redmon, Ali Farhadi 链接&#xff1a;https://arxiv.org/pdf/1612.08242v1.pdf 代码&#xff1a;http://pjreddie.com/yolo9000/ YOLO系列其他文章&#xff1a; YOLOv1通俗易懂版解读SSD算法解读…

STM32/GD32——CAN协议

说明&#xff1a;本文不断更新中&#xff0c;内容均为作者手打... 芯片选型 Ciga Device — GD32F470系列 CAN协议规则 CAN帧种类介绍 CAN总线以“帧”的方式进行通讯。CAN协议定义了5种类型的帧&#xff1a;数据帧、遥控帧、错误帧、过载帧、间隔帧。其中“数据帧”最为常…

记一次生产慢sql索引优化及思考

记一次生产慢sql索引优化及思考 问题重现 夜黑风高的某一晚&#xff0c;突然收到一条运营后台数据库慢sql的报警&#xff0c;耗时竟然达到了60s。看了一下&#xff0c;还好不是很频繁&#xff0c;内心会更加从容排查问题&#xff0c;应该是特定条件下没有走到索引导致&#x…

如何在数据库中存储小数:FLOAT、DECIMAL还是BIGINT?

前言 这里还是用前面的例子: 在线机票订票系统的数据表设计。此时已经完成了大部分字段的设计&#xff0c;可能如下: CREATE TABLE flights ( flight_id INT AUTO_INCREMENT PRIMARY KEY, flight_number VARCHAR(10), departure_airport_code VARCHAR(3), arrival_ai…

[论文精读]Dynamic Coarse-to-Fine Learning for Oriented Tiny Object Detection

论文网址&#xff1a;[2304.08876] 用于定向微小目标检测的动态粗到细学习 (arxiv.org) 论文代码&#xff1a;https://github.com/ChaselTsui/mmrotate-dcfl 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&…

支付模块-基于消息队列发送支付通知消息

消息队列发送支付通知消息 需求分析 订单服务作为通用服务&#xff0c;在订单支付成功后需要将支付结果异步通知给其他对接的微服务&#xff0c;微服务收到支付结果根据订单的类型去更新自己的业务数据 技术方案 使用消息队列进行异步通知需要保证消息的可靠性即生产端将消息…

深入了解 大语言模型(LLM)微调方法

引言 众所周知&#xff0c;大语言模型(LLM)正在飞速发展&#xff0c;各行业都有了自己的大模型。其中&#xff0c;大模型微调技术在此过程中起到了非常关键的作用&#xff0c;它提升了模型的生成效率和适应性&#xff0c;使其能够在多样化的应用场景中发挥更大的价值。 那么&…