平定住房建设局网站,企业网站建设变相收取等级保护费,seo是什么的,如何创建链接java 创建线程
Java中#xff0c;线程也是一种对象#xff0c;但不是任何对象都可以成为线程。
只有实现了Runnable接口或继承了Thread类的对象才能成为线程。
继承Thread类
//格式#xff1a;
class 类名 extends Thread//从Thread类扩展出子类
{属性方法修饰符 run(){…java 创建线程
Java中线程也是一种对象但不是任何对象都可以成为线程。
只有实现了Runnable接口或继承了Thread类的对象才能成为线程。
继承Thread类
//格式
class 类名 extends Thread//从Thread类扩展出子类
{属性方法修饰符 run(){//覆写Thread类里的run()方法通过线程处理的程序}
}例子
package com.thread;
//Thread存放在java.lang类库里但并不需要加载java.lang类库因为它会自动加载。
public class Test {public static void main(String args[]){new TestThread().start();//启动线程必须要调用Thread类中的start()方法//调用了start()方法也就是调用了run()方法。for(int i 0; i 5; i) {System.out.println(main 线程在运行);}}
}
class TestThread extends Thread
{public void run() {//run()方法是定义在Thread类里的一个方法//因此把线程的程序代码编写在run()方法内所做的就是覆写的操作。for(int i 0; i 5; i) {System.out.println(TestThread在运行);}}
}
/*main 线程在运行
TestThread在运行
TestThread在运行
TestThread在运行
TestThread在运行
TestThread在运行
main 线程在运行
main 线程在运行
main 线程在运行
main 线程在运行
*/实现Runnable接口
Java程序只允许单一继承一个子类只能有一个父类。
所以在Java中如果一个类继承了某一个类同时又想采用多线程技术就不能通过继承Thread类的方法产生线程。
这时需要用Runnable接口来创建线程。
class 类名 implements Runnable//实现Runnable接口
{属性方法修饰符 run(){//覆写Thread类里的run()方法以线程处理的程序;}
}下面的例子
为什么实现了Runnable接口还需要调用Thread类中的start()方法才能启动多线程
通过看JDK文档可以知道Runnable接口中只有一个run()方法并没有start()方法。所以要用Thread类中的start()方法来启动多线程。
Thread里有一个构造方法public Thread(Runnable target)在这个构造方法中用一个Runnable接口的实例化对象作为参数去实例化Thread类对象。
package com.thread;public class Test {public static void main(String args[]){TestThread t new TestThread();//实例化一个TestThread类的对象new Thread(t).start();//通过TestThread类实例化一个Thread类的对象之后调用start()方法启动多线程for(int i 0; i 5; i) {System.out.println(main 线程在运行);}}
}
class TestThread implements Runnable
{public void run() {for(int i 0; i 5; i) {System.out.println(TestThread在运行);}}
}
/*main 线程在运行
main 线程在运行
main 线程在运行
main 线程在运行
main 线程在运行
TestThread在运行
TestThread在运行
TestThread在运行
TestThread在运行
TestThread在运行
*/