编程语言
首页 > 编程语言> > Java多线程Thread类了解和使用

Java多线程Thread类了解和使用

作者:互联网

创建线程的两种方式

  1. extends Thread 类
public class WelComeApp {

    public static void main(String[] args) {
        WelcomeThread thread = new WelcomeThread();
        thread.start();
        System.out.printf("1.Welcome, I'm %s.%n", Thread.currentThread().getName());
    }
    
    public static class WelcomeThread extends Thread {
        @Override
        public void run() {
            System.out.printf("2.Welcome, I'm %s.%n", Thread.currentThread().getName());
        }
    }
}
  1. 实现 Runnable 接口
public class WelComeApp1 {

    public static void main(String[] args) {

        Thread thread = new Thread(() -> System.out.printf("2.Welcome, I'm %s.%n", Thread.currentThread().getName()));
        thread.start();
        System.out.printf("1.Welcome, I'm %s.%n", Thread.currentThread().getName());
    }
}

注意事项

线程的生命周期状态

位于Thread#State枚举列表出6个状态

public enum State {
    NEW,
    RUNNABLE,
    BLOCKED,
    WAITING,
    TIMED_WAITING,
    TERMINATED;
}

WAINT状态是有等待某个其他线程结束,而当前状态是带有事件的概念在里面,我可以等,你有时间限制。

多线程编程的好处与坏处

优势

  1. 大大的提高了系统的吞吐率
  2. 能充分的利用多核处理器资源
  3. 使用多线程比使用多进程更能节省资源

风险

  1. 线程安全的问题,同一个进程内的线程是共享进程资源,没有做好安全控制可能会导致数据混乱。
  2. 提高了编程难度,比如产生死锁,导致程序奔溃
  3. 可能会加重CPU负担,多个线程工作会导致上下文的切换,这也是一笔不小的开支。

参考

标签:Java,Thread,System,WAITING,线程,多线程,public
来源: https://www.cnblogs.com/m78-seven/p/15942542.html