线程
Java多线程指的是在Java编程语言中同时执行多个线程的能力。Java中的多线程是通过Thread类和Runnable接口实现的。
通过以下代码运行可发现,线程间交替执行
//创建线程方式1:继承Thread类,重写run()方法,调用start开启线程
public class testThread1 extends Thread{
public static void main(String[] args){
testThread1 test1=new testThread1();
test1.start();
for(int i=0;i<10000;i++){
System.out.println(i);
}
}
@Override
public void run() {
for(int i=0;i<10000;i++){
System.out.println("线程"+i);
}
}
}
//创建线程方式1:实现Runnable接口类,重写run()方法,执行线程需要丢入Runnable接口实现类,调用start开启线程 【推荐】
public class testThread2 implements Runnable{
public static void main(String[] args){
testThread2 test1=new testThread2();
new Thread(test1).start();
for(int i=0;i<10000;i++){
System.out.println(i);
}
}
@Override
public void run() {
for(int i=0;i<10000;i++){
System.out.println("线程"+i);
}
}
}
Java线程方法包括以下几种常用的方法:
1. start(): 启动线程,使其进入可运行状态。
2. run(): 线程的主体方法,包含线程要执行的代码。
3. sleep(long millisecond): 让线程休眠指定的时间,单位为毫秒。
4. join(): 等待线程结束,主线程会暂停等待,直到被调用线程执行完毕。
5. interrupt(): 中断线程,发送一个中断信号,使线程退出阻塞状态。
6. isAlive(): 判断线程是否存活,即线程是否处于可运行状态。
7. yield(): 暂停当前线程,使其他线程有机会执行。
8. setPriority(int priority): 设置线程的优先级,优先级范围为1-10,默认为5。
9. getId(): 获取线程的唯一标识符。
10. isInterrupted(): 判断线程是否被中断,返回一个布尔值。
11. getName(): 获取线程的名字。
12. currentThread(): 返回当前执行的线程对象。
13. setDaemon(boolean on): 设置线程是否为守护线程,守护线程会在所有非守护线程结束后自动结束。
14. wait(): 线程进入等待状态,直到被其他线程唤醒。
15. notify(): 唤醒一个等待中的线程。
16. notifyAll(): 唤醒所有等待中的线程。