关于java继承Thread类
我们在前面的文章中,了解到了java的多线程,进程等基础的概念,我们本篇文章进一步介绍一下线程的创建以及几种创建方式,本篇文章以Thread类为主,先摸清Thread类😀。
三种创建方式
- Thread class :继承Thread类
- Runnable接口 :实现Runnable接口
- Callable接口 :实现Callable接口
创建线程
JDK帮助文档描述:创建一个新的执行线程有两个方法,一个是将一个类声明为Thread的子类,这个子类应该重写run类的方法Thread,然后可以分配并启动子类。
Thread
- 自定义线程类,继承Thread类。
- 重写run()方法,编写线程执行语句(执行体)。
- 创建线程对象,调用start()方法启动线程。
1、我们新建一个类,然后继承Thread,然后按照上面的步骤去写代码。
package thread;
public class TestThread1 extends Thread{
@Override
public void run() {
//run方法线程体
}
public static void main(String[] args) {
//主线程
}
}
2、我们在run方法中,写一个循环,输出一行字。
package thread;
public class TestThread1 extends Thread{
@Override
public void run() {
//run方法线程体
for (int i = 0; i < 10; i++) {
System.out.println("学习线程--"+i);
}
}
public static void main(String[] args) {
//主线程
for (int i = 0; i < 10; i++) {
System.out.println("看代码--"+i);
}
}
}
3、我们执行一下代码,会看到执行了主线程的内容,我们看以下执行结果,不一一展示了😊
看代码--0
看代码--1
看代码--2
看代码--3
看代码--4
.......
看代码--9
4、我们创建一个线程的对象,然后用start执行。
package thread;
public class TestThread1 extends Thread{
@Override
public void run() {
//run方法线程体
for (int i = 0; i < 10; i++) {
System.out.println("学习线程--"+i);
}
}
public static void main(String[] args) {
//创建一个线程对象
TestThread1 testThread1 = new TestThread1();
//调用start方法,开启线程
testThread1.start();
//主线程
for (int i = 0; i < 10; i++) {
System.out.println("看代码--"+i);
}
}
}
我们来执行一下代码,可以看到两个内容在同时执行🤔
看代码--0
学习线程--0
学习线程--1
看代码--1
看代码--2
看代码--3
看代码--4
看代码--5
看代码--6
看代码--7
看代码--8
学习线程--2
看代码--9
学习线程--3
学习线程--4
学习线程--5
学习线程--6
学习线程--7
学习线程--8
学习线程--9
5、如果我们不用start,用正常重写的run方法,就会按照顺序结构去执行。文章来源:https://www.toymoban.com/news/detail-829876.html
package thread;
public class TestThread1 extends Thread{
@Override
public void run() {
//run方法线程体
for (int i = 0; i < 10; i++) {
System.out.println("学习线程--"+i);
}
}
public static void main(String[] args) {
//创建一个线程对象
TestThread1 testThread1 = new TestThread1();
//调用run方法
testThread1.run();
//主线程
for (int i = 0; i < 10; i++) {
System.out.println("看代码--"+i);
}
}
}
我们来执行一下代码,可以看到代码是先后执行的🤔文章来源地址https://www.toymoban.com/news/detail-829876.html
学习线程--0
学习线程--1
学习线程--2
学习线程--3
学习线程--4
学习线程--5
学习线程--6
学习线程--7
学习线程--8
学习线程--9
看代码--0
看代码--1
看代码--2
看代码--3
看代码--4
看代码--5
看代码--6
看代码--7
看代码--8
看代码--9
总结
- 线程开启不一定立即执行,需要由CPU调度执行。
到了这里,关于关于java继承Thread类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!