当前位置: 首页> 财经> 创投人物 > 线程Java

线程Java

时间:2025/9/8 17:19:22来源:https://blog.csdn.net/2301_79284357/article/details/140064297 浏览次数:0次

线程

  • 线程的概念
  • 创建多线程
    1. 继承线程类
    2. 实现Runnable接口
    3. 匿名类

线程的概念

线程(Thread)和进程(Professor)的区别

进程:人吃饭是一个进程,接着狗吃骨头是一个进程,这叫两个进程。
线程:线程是在进程内部同时做的事情,比如在生活里面,有很多事情要做,比如人吃饭,狗吃骨头是同时进行的,这就是多线程实现的。

创建多线程

如下是两个进程分别执行:

package multiThread;public class Animal {private String name;private int year;Animal(){}Animal(String name,int year){this.name = name;this.year = year;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getYear() {return year;}public void setYear(int year) {this.year = year;}@Overridepublic String toString() {return "姓名:"+ name + ",年龄:" + year + ",来干饭了";}
}
package multiThread;import java.util.ArrayList;public class main {public static void main(String[] args) {Animal a1 = new Animal();a1.setName("张三");a1.setYear(18);Animal a2 = new Animal();a2.setName("李四");a2.setYear(20);Animal a3 = new Animal();a3.setName("王五");a3.setYear(21);ArrayList<Animal>human = new ArrayList<>();human.add(a1);human.add(a2);human.add(a3);for (int i = 0; i < human.size(); i++) {System.out.println(human.get(i).toString());}Animal d1 = new Animal("小黑",2);Animal d2 = new Animal("大黄",3);Animal d3 = new Animal("旺财",4);ArrayList<Animal>dog = new ArrayList<>();dog.add(d1);dog.add(d2);dog.add(d3);for (int i=0;i<dog.size();i++){System.out.println(dog.get(i).toString());}}
}

在这里插入图片描述

继承线程类

package multiThread;public class Animal extends Thread {private String name;private int year;Animal(){}Animal(String name,int year){this.name = name;this.year = year;}@Overridepublic void run() {for (int i = 0; i < 10; i++) {System.out.println("姓名:"+ name + ",年龄:" + year + ",来干饭了");}}
}
package multiThread;public class main1 {public static void main(String[] args) {Animal a = new Animal("张三",18);Animal d = new Animal("旺财",3);a.start();d.start();}
}

在这里插入图片描述

实现Runnable接口

package multiThread2;public class Animal implements Runnable{private String name;private int year;Animal(){}public Animal(String name,int year){this.name = name;this.year = year;}@Overridepublic void run() {for (int i = 0; i < 10; i++) {System.out.println("姓名:"+ name + ",年龄:" + year + ",来干饭了");}}
}
package multiThread2;public class main {public static void main(String[] args) {Animal a1 = new Animal("张三",18);Animal a2 = new Animal("旺财",3);new Thread(a1).start();new Thread(a2).start();}
}

在这里插入图片描述

匿名类

package multiThread2;public class Animal{private String name;private int year;Animal(){}public Animal(String name,int year){this.name = name;this.year = year;}@Overridepublic String toString() {return "姓名:"+ name + ",年龄:" + year + ",来干饭了";}
}
package multiThread2;public class main {public static void main(String[] args) {Animal a1 = new Animal("张三",18);Animal a2 = new Animal("旺财",3);Thread t1 = new Thread(){public void run(){for (int i = 0; i < 10; i++) {System.out.println(a1);}}};t1.start();Thread t2 =new Thread(){public void run(){for (int i = 0; i < 10; i++) {System.out.println(a2);}}};t2.start();}
}

在这里插入图片描述
其实多线程是多个步骤同时进行

关键字:线程Java

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: