2025年五十六.多线程

五十六.多线程五十六 多线程 创建多线程程序的第一种方式 创建 Thread 类的子类 java lang Thread 类 是描述线程的类 想要实现多线程程序 必须继承 Thread 类 实现步骤 1 创建一个 Thread 类的子类 2 在创建 Thread 类的子类中重写 Thread 中的 run 方法 设置线程任务 开启线程要做什么 3 创建 Thread 的子类对象 4

大家好,我是讯享网,很高兴认识大家。

五十六.多线程

创建多线程程序的第一种方式:创建Thread类的子类

java.lang.Thread类:是描述线程的类,想要实现多线程程序,必须继承Thread类

实现步骤:

1.创建一个Thread类的子类

2.在创建Thread类的子类中重写Thread中的run方法,设置线程任务(开启线程要做什么)

3.创建Thread的子类对象

4.调用Thread类的中的方法start方法,开启新的线程,执行run方法

void start() 使该线程开始执行,java虚拟调用该线程的 run方法

结果是;两个线程并发地运行;当前线程(main线程)和另一个线程(创建的新线程,执行其main方法)

多次启动一个线程是非法的,特别是当线程已经结束执行后,不能重新启动


讯享网

java程序属于抢占式调度,哪个线程的优先级高,哪个线程优先执行,同一个优先级,随机选择一个

​/*1.继承 THread类 2.写run方法 布置任务 3.创建Thread对象 4.运行Thread类的 xx.start(); */ public class MyThread extends Thread{//1.创建一个Thread类的子类 // 2.在创建Thread类的子类中重写Thread中的run方法,设置线程任务(开启线程要做什么) public void run(){ for(int i =0;i<20;i++){ syso("run"+i); } } ​

讯享网
讯享网public static void main(String[] args) { MyThread mt = new MyThread(); //3.创建Thread的子类对象 mt.start();4.调用Thread类的中的方法start方法,开启新的线程,执行run方法 for(int i =0;i<20;i++){ syso("main"+i); } } /* 1.使用Thread中的办法getName() String getName 返回该线程的名称 2.可以先获取当前在运行的线程,使用线程中的办法getName()获取线程的名称 static Thread currenThread() 返回对当前正在执行的线程对象的引用。 */ public class MyThread extends Thread { //重写Thread类中的run方法,设置线程任务 public void run()

Thread的常用方法

/*线程名称: * 主线程:main * 新线程:Thread-0,Thread-1,Thread-2 * currentThread():正在被哪个线程调用的信息 * getName():获得线程名称 */ public class zz { public static void main(String[] args) { Threadzi mt = new Threadzi(); mt.start(); new Threadzi().start(); new Threadzi().start(); //链式编程 System.out.println(Thread.currentThread().getName()); } }
讯享网public class Threadzi extends Thread { public void run(){ /*String name = getName(); System.out.println(name);*/ /*Thread t = Thread.currentThread(); System.out.println(t); String name = t.getName(); System.out.println(name);*/ //链式编程 System.out.println(Thread.currentThread().getName()); } }

创建多线程程序的第二种方式:实现Runnable接口

/* * 创建多线程程序的第二种方式:实现Runnable接口 * java.lang.Runnable * Runnable 接口应该由那些打算通过某一些线程执行其实例来实现。类必须定义一个称为run 的无参数方法 * java.lang.Thread类的构造方法 * Thread(Runnable target)* 分配新的 Thread对象 * Thread(Runnable target,String name)* 分配新的 Thread对象 * * 实现步骤: * 1.创建一个Runnable接口的实现类 * 2.在实现类中重写Runable接口的run方法,设置线程任务 * 3.创建一个Runable接口的实现类对象 * 4.创建Thread类对象,构造方法中传递Runnable接口的实现类对象 * 5.调用Thread类中的start方法,开启新的线程执行run方法*/ public class demo1Runnable {//Runnable:可猎取的 public static void main(String[] args) { // 3.创建一个Runable接口的实现类对象 RunnableImpl run = new RunnableImpl(); // 4.创建Thread类对象,构造方法中传递Runnable接口的实现类对象 Thread t = new Thread(run); t.start(); for(int i =0;i<2;i++){ System.out.println(Thread.currentThread().getName()+"->"+i); } } } //main->0 main->1 Thread-0->0 Thread-0->1 Thread-0->2 Thread-0->3 Thread-0->4 Thread-0->5 Thread-0->6 Thread-0->7 Thread-0->8 Thread-0->9 Thread-0->10 Thread-0->11 Thread-0->12 Thread-0->13 Thread-0->14 Thread-0->15 Thread-0->16 Thread-0->17 Thread-0->18 Thread-0->19 
讯享网/* 1.创建一个Runnable接口的实现类 2.在实现类写run方法 (布置线程任务) 3.在main方法创建 实现类对象 4.创建Rhread 对象 在Thread t = new Thread(run) 括号填run 5.运行Thread类的run方法 t.run(); */ public class RunnableImpl implements Runnable{ public void run(){ for(int i = 0;i<20;i++){ System.out.println(Thread.currentThread().getName()+"->"+i); } } } 

怎么写代码加速 打字快 查好怎么用输入法

Class类名不可以和方法 变量同名

Thread的sleep方法

public class demosleep { /* 用途: * public static void sleep(long mollis):使当前正在执行的线程以制定的毫秒数暂停(暂时停止执行) * */ public static void main(String[] args) { //模拟秒表 for (int i = 1; i <=60; i++) { System.out.println(i); /
小讯
上一篇 2025-01-17 12:21
下一篇 2025-03-14 23:14

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/62437.html