Java如何实现多线程
JAVA里面
JVM(java虚拟机) 就是 一个进程
进程与进程之间是绝对互相独立
我们运行多个main方法,代表有多个JAVA进程
进程里面有线程; 一个进程里面,允许有多个线程叫多线程;
代码顺序分先后,线程的执行自己跑自己的
1:继承Thread
1 public class MyThread extends Thread{
2
3 public void run(){
4
5 //我们这个线程需要实现的功能;要完成任务
6
7 }
8 }
9
10 //1: 新建一个线程对象;
11 //2: 调用start方法;
1 package com.lv.study.pm.second;
2
3 public class Test1 {
4
5 public static void main(String[] args) {
6
7 System.out.println("1:");
8
9 Thread th1=new MyTh();
10 Thread th2=new MyTh();
11
12 //没有启动线程 只是在主线程里面调用我们的run方法
13 //th1.run();
14 //th2.run();
15
16 //启动线程
17 th1.start();
18 th2.start();
19
20 //线程优先级
21 th2.setPriority(Thread.MAX_PRIORITY);
22 th1.setPriority(Thread.MIN_PRIORITY);
23
24 System.out.println("2:");
25
26 }
27
28 }
29
30
31 class MyTh extends Thread{
32
33 public void run(){
34
35 //线程的礼让
36 Thread.yield();
37
38 for (int i = 0; i < 10; i++) {
39
40 System.out.println(this.getName()+""+i);
41 }
42 }
43 }
2:实现Runnable
1 public class MyRunable implements Runnable{
2
3 public void run(){
4
5 //做我们要做的任务;
6
7 }
8
9 }
10
11 //1:新建一个MyRunable对象;
12 //2:新建一个Thread对象(MyRunable);
13 //3:通过trhead对象来调用start方法;运行我们的线程;
1 package com.lv.study.pm.first;
2
3 public class Test2 {
4
5 public static void main(String[] args) {
6
7 //java实现多线程
8 //1:标准 Runable接口
9
10 //接口的实现着
11 Runnable r=new MyRun();
12
13
14 //2:接口的使用者 这个使用者没有实现着代表啥事情也没有干
15 Thread th=new Thread(r);
16 th.start();//启动了线程
17
18 }
19
20 }
21
22
23 //Runnable接口的实现着
24 class MyRun implements Runnable{
25
26 @Override
27 public void run() {
28
29 for (int i = 0; i < 10; i++) {
30
31 System.out.println(i);
32 }
33
34 }
35
36 }
Java如何实现多线程的更多相关文章
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- Java学习笔记-多线程-创建线程的方式
创建线程 创建线程的方式: 继承java.lang.Thread 实现java.lang.Runnable接口 所有的线程对象都是Thead及其子类的实例 每个线程完成一定的任务,其实就是一段顺序执行 ...
- Java线程与多线程教程
本文由 ImportNew - liken 翻译自 Journaldev. Java线程是执行某些任务的轻量级进程.Java通过Thread类提供多线程支持,应用可以创建并发执行的多个线程. 应用 ...
- Java面试题-多线程
1. java中有几种方法可以实现一个线程? 多线程有两种实现方法,分别是继承Thread类与实现Runnable接口. 这两种方法的区别是,如果你的类已经继承了其它的类,那么你只能选择实现Runna ...
- Java面试09|多线程
1.假如有Thread1.Thread2.Thread3.Thread4四条线程分别统计C.D.E.F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现? 把相互独立的计算任 ...
- Java 中传统多线程
目录 Java 中传统多线程 线程初识 线程的概念 实现线程 线程的生命周期 常用API 线程同步 多线程共享数据的问题 线程同步及实现机制 线程间通讯 线程间通讯模型 线程中通讯的实现 @(目录) ...
- 2019/3/7 Java学习之多线程(基础)
Java学习之多线程 讲到线程,就必须要懂得进程,进程是相当于一个程序的开始到结束,而线程是依赖于进程的,没有进程,就没有线程.线程也分主线程和子线程,当在主线程开启子线程时,主线程结束,而子线程还可 ...
- Java编程实现多线程TCP服务器完整实例
Socket ·功能:TCP客户端套接字 ·构造方法: Socket(InetAddress address, int port) 创建一个流套接字并将其连接到指定 IP 地址的指定端口号 · ...
- Java基础之多线程框架
一.进程与线程的区别 1.定义: 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比 ...
- [Java][读书笔记]多线程编程
前言:最近复习java,发现一本很好的资料,<Java2参考大全 (第五版)> Herbert.Schildt.书比较老了,06年的,一些 ...
随机推荐
- python ImportError: libGL.so.1: cannot open shared object file: No such file or directory
前言 python 报错python ImportError: libGL.so.1: cannot open shared object file: No such file or director ...
- K8S组件详解
K8S的控制平面.和工作节点是集群正常运行的核心,通过这两部分的协同工作,K8S才能够实现高效的容器编排.管理.和自动化运维. K8S Kubernetes(简称K8s),是一个开源的容器编排平台,用 ...
- 推荐2款docker可视化管理面板
1.portainer portainer算是比较知名的开源docker管理工具,功能上比较齐全,不过只有英文版本,没有中文,不过这并不影响他的使用. 官方地址:https://www.portain ...
- 【Web】支持纯静态的Layuimini版本
支持纯静态的Layuimini版本 本人做了点小小的改动,在来的基础上添加了对静态的支持. 零.起因 要做个项目,但是用的是JSP,想着用Layui,然后去找模板,发现这个Layuimini.但是这个 ...
- AI时代:大模型开发framework之langchain和huggingface
langchain: 提供了大模型相关应用开发的所有便利. https://python.langchain.com/docs/get_started/introduction Build your ...
- public void add(int index, E element)的方法源码分析
public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess ...
- 【深度思考】自定义日期格式,为什么@JSONField生效,@JsonFormat不生效?
1. 前言 最近在自测接口时,发现一个问题:字段类型定义的是Date,但接口返回值里却是时间戳(1744959978674), 而不是预期的2025-04-18 15:06:18. private D ...
- CF1627B题解
Not Sitting 题面翻译 Rahul 和 Tina 在玩一个游戏.游戏在一个 n×mn\times mn×m 的网格图上进行,记第 rrr 行第 ccc 列上的格子为 (r,c)(r,c)(r ...
- 《Deep Learning Inference on Embedded Devices: Fixed-Point vs Posit》(一)
After the success of performing deep learning inference by using an 8-bit precision representation o ...
- GPUStack v0.5:模型Catalog、图生图功能上线,多维优化全面提升产品能力与使用体验
GPUStack 是一个专为运行 AI 模型设计的开源 GPU 集群管理器,致力于支持基于任何品牌的异构 GPU 构建统一管理的算力集群.无论这些 GPU 运行在 Apple Mac.Windows ...