0%

创建新的线程

本文概述

Java多线程基础知识,如何创建一个线程

创建新的线程

Java语言设置了多线程支持。当Java程序启动的时候,实际上是启动了一个JVM进程,然后,JVM启动住线程来执行main()方法。在main()方法中国呢,可以启动其他线程。

创建:实例化一个Thread实例,然后调用star()方法:

1
2
3
4
5
6
public class Main{
public static void main(String[] args){
Thread t = new Thread();
t.star(); //启动多线程
}
}

新线程能执行指定的代码

  • 从Thread派生一个自定义类,然后覆盖run()方法
1
2
3
4
5
6
7
8
9
10
11
12
public class Main {
public static void main(String[] args) {
Thread t = new MyThread();
t.start(); // 启动新线程
}
}
class MyThread extends Thread {
@Override
public void run() {
System.out.println("start new thread!");
}
}
  • 创建Thread实例是,传入一个Runnable实例:
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Main {
public static void main(String[] args) {
Thread t = new Thread(new MyRunnable());
t.start(); // 启动新线程
}
}

class MyRunnable implements Runnable {
@Override
public void run() {
System.out.println("start new thread!");
}
}
  • Lambda语法:
1
2
3
4
5
6
7
8
public class Main {
public static void main(String[] args) {
Thread t = new Thread(() -> {
System.out.println("start new thread!");
});
t.start(); // 启动新线程
}
}

线程的优先级:

  • 设定优先级:
    Thread.setPriority(int n) // 1~10, 默认值5
    优先级高的线程被操作系统调度的优先级较高,操作系统对高优先级线程可能调度更频繁,但我们决不能通过设置优先级来确保

小结:

  1. Java用Thread对象表示一个线程,通过调用start()启动一个新线程;
  2. 一个线程对象只能调用一次start()方法;
  3. 线程的执行代码写在run()方法中;
  4. 线程调度由操作系统决定,程序本身无法决定调度顺序;
  5. Thread.sleep()可以把当前线程暂停一段时间。
-------------本文结束感谢您的阅读-------------

本文标题:创建新的线程

文章作者:Jungle

发布时间:2020年05月30日 - 09:38

最后更新:2020年05月30日 - 15:38

原始链接:http://yoursite.com/2020/05/30/%E5%88%9B%E5%BB%BA%E6%96%B0%E7%9A%84%E7%BA%BF%E7%A8%8B/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Welcome to my other publishing channels