线程-1

1、创建执行线程有两种方法

  • 扩展Thread类(重新run方法)    
     @Override
   public void run() {}
     new MyThread().start();//启动线程

 

  • 实现Runnable接口
  public class MyThread extends Thread{
@Override
public void run() {
System.out.println(getName() + "线程运行起来了");
}
}
new Thread(new MyRunnale()).start();//启动线程

2、join
主线程生成并启动了子线程,而子线程里要进行大量的耗时的运算(这里可以借鉴下线程的作用),当主线程处理完其他的事务后,需要用到子线程的处理结果,这个时候就要用到join();方法了。
解释一下,是主线程等待子线程的终止。也就是说主线程的代码块中,如果碰到了t.join()方法,此时主线程需要等待(阻塞),等待子线程结束了(Waits for this thread to die.),才能继续执行t.join()之后的代码块。
3、callable
callable和Runnable的区别是callable可以有返回值,也可以抛出异常的特性,而Runnable没有
@Override
public String call() throws Exception {
Thread.sleep(5000);
return "call方法的返回值";
}
posted @ 2023-03-22 09:04  快乐的小太阳  阅读(16)  评论(0编辑  收藏  举报