本文概述
Java多线程基础知识,如何创建一个线程
创建新的线程
Java语言设置了多线程支持。当Java程序启动的时候,实际上是启动了一个JVM进程,然后,JVM启动住线程来执行main()方法。在main()方法中国呢,可以启动其他线程。
创建:实例化一个Thread实例,然后调用star()方法:
| 12
 3
 4
 5
 6
 
 | public class Main{public static void main(String[] args){
 Thread t = new Thread();
 t.star();
 }
 }
 
 | 
新线程能执行指定的代码
- 从Thread派生一个自定义类,然后覆盖run()方法
| 12
 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实例:
| 12
 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!");
 }
 }
 
 | 
| 12
 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
 优先级高的线程被操作系统调度的优先级较高,操作系统对高优先级线程可能调度更频繁,但我们决不能通过设置优先级来确保
小结:
- Java用Thread对象表示一个线程,通过调用start()启动一个新线程;
- 一个线程对象只能调用一次start()方法;
- 线程的执行代码写在run()方法中;
- 线程调度由操作系统决定,程序本身无法决定调度顺序;
- Thread.sleep()可以把当前线程暂停一段时间。