发现 java 的不少例子中都涉及到线程,看来线程是 java 蛮重要的一部分的。
但最近看 线程 的一些讲解时,觉得并不是很好理解,有点抽象。
边看边总结吧。 最近查阅到:java 编程一般情况下用不到多线程。多线程一般在开发 web 时 用到。
运行线程用 start() 方法,而 start() 将调用线程中的 run() 方法。
一. 创造一个线程
三种方法:
1. 继承 Thread 类并重写 run 方法
举例:
public class HelloWorld extends Thread{
@Override
public void run(){
System.out.println("Hello World");
}
public static void main(String []args){
new HelloWorld().start();
}
}
2. 导入一个 Runnable 接口
举例:此时可以用 lambda 函数定义 Runnable 接口
public class HelloWorld{
public static void main(String []args){
Runnable t=()->System.out.println("Hello World");
Thread myThread=new Thread(t);
myThread.start();
}
}
3. 使用方法引用
java 8 之后才有这个功能,如果方法没有调用变量,没有返回值,则可以使用方法引用生成Thread。
举例:
public class HelloWorld{
static void print(){
System.out.println("Hello World");
}
public static void main(String []args){
new Thread(HelloWorld::print).start();
}
}