有两种创建线程的方法:
- 通过扩展Thread类
- 通过实现Runnable接口。
线程类:
Thread类提供了构造函数和方法来在线程上创建和执行操作。Thread类扩展了Object类并实现了Runnable接口。 |
线程类的常用构造函数:
Thread()线程(字符串名称)Thread(可运行r)线程(可运行r, 字符串名称) |
Thread类的常用方法:
public void run():用于对线程执行操作。 public void start():开始执行线程。JVM在线程上调用run()方法。 public void sleep(长毫秒):使当前正在执行的线程在指定的毫秒数内进入睡眠状态(暂时停止执行)。 public void join():等待线程死亡。 public void join(长毫秒):等待线程在指定的毫秒内死亡。 public int getPriority():返回线程的优先级。 public int setPriority(int priority):改变线程的优先级。 public String getName():返回线程的名称。 public void setName(String name):更改线程的名称。公共线程currentThread():返回当前正在执行的线程的引用。 public int getId():返回线程的ID。 public Thread.State getState():返回线程的状态。 public boolean isAlive():测试线程是否处于活动状态。 public void yield():使当前正在执行的线程对象暂时暂停并允许其他线程执行。 public voidsuspend():用于挂起线程(已描述)。 public void resume():用于恢复被挂起的线程(已描述)。 public void stop():用于停止线程(已废弃)。 public boolean isDaemon():测试线程是否是守护线程。 public void setDaemon(boolean b):将线程标记为守护程序或用户线程。 public void interrupt():中断线程。 public boolean isInterrupted():测试线程是否被中断。 public static boolean interrupted():测试当前线程是否已被中断。 |
可运行的界面:
Runnable接口应该由实例旨在由线程执行的任何类实现。可运行接口只有一个名为run()的方法。 |
public void run():用于对线程执行操作。 |
启动线程:
Thread类的start()方法用于启动新创建的线程。它执行以下任务:一个新线程开始(带有新的调用栈)。线程从“新建”状态移动到“可运行”状态。当线程有机会执行时, 其目标run()方法将运行。 |
1)通过扩展Thread类的Java线程示例
class Multi extends Thread{
public void run(){
System.out.println("thread is running...");
}
public static void main(String args[]){
Multi t1=new Multi();
t1.start();
}
}
Output:thread is running...
2)通过实现Runnable接口的Java线程示例
class Multi3 implements Runnable{
public void run(){
System.out.println("thread is running...");
}
public static void main(String args[]){
Multi3 m1=new Multi3();
Thread t1 =new Thread(m1);
t1.start();
}
}
Output:thread is running...
如果你不扩展Thread类, 则你的类对象将不被视为线程对象。因此, 你需要显式创建Thread类对象。我们正在传递实现Runnable的类的对象, 以便你的类run()方法可以执行。 |
评论前必须登录!
注册