欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

线程

程序员文章站 2022-06-21 11:29:33
...

线程

1.三种线程

1.继承Thread

main方法也是一个线程

  1. 新建线程:新建类继承Throw,重写run方法

    public class Test() extends Throw(){
        public void run(){
            线程需要执行的内容;
        }
    }
    
  2. 创建线程:

    Test test = new Test();
    
  3. 启动线程:创建一个新的栈,而不是创建栈帧

    test.start();
    

3.实现Runnable

  1. 新建线程:新建线程类,实现Runnable接口,重写run方法

    public class Test implements Runnable{
        public void run(){
            线程内容;
        }
    }
    
  2. 创建线程:

    Thread thread = new Test();
    
  3. 执行线程:

    new Thread(thread,"线程名").start();
    

3.使用Callable和Future

  1. 新建线程:新建范方法线程类,实现Callable类,重写call方法

    public class Test implements Callable<call方法返回值>{
        public Integer call() throws Exception{
            线程内容;
        }
    }
    
  2. 新建线程

    Test test = new Test();
    FutureTask<Integer> result = new FutureTask<>(test);
    
  3. 执行线程

    new Thread(result.start());
    
  4. 返回值:get()会阻塞到结束时执行

    try{
        Integer sum = result.get();
    }catch{}
    

2.相关方法

1.CurrentThread

  1. 获取线程对象(静态)

    不能使用this,this指的是线程类这一个对象,而静态方法获取的是不同的三个对象

    Thread thread = Thread.currentThread();
    
  2. 获取线程名

    String name = thread.getName();
    
  3. 获取线程id

    Int id = thread.getId()
    
  4. 获取线程优先级

    thread.getPriority();
    
  5. 检查是否处于活动状态

    thread.isAlive();
    
  6. 检查是否为守护线程

    thread.isDaemon();
    
  7. 检查是否被中断

    thread.isInterrupted();
    
相关标签: 线程 Thread