在bug中写bug

导航

 

一。实现多线程的第一种方式

      1.继承Thread类

/**
* 继承Thread类, 重写run方法
*/
public class MyThread extends Thread{
 
    //重写run方法
   @Override
   public void run(){
     
        //写线程要执行的业务,比如我打印一个句话
      System.out.println("这是一个线程");
   
   }
 

}

   

     2.启用这个线程

/**
*启动线程
*/
public class StartThread extends Thread{
 
    //在mian方法中执行多线程
    public static void main(String[] args) {

          //创建MyThread 实例
           MyThread   myThread = new MyThread(); 

         //启动线程
          myThread.start();


   } 

}

 

 

二。实现多线程的第二种方式

     1. 实现Runnable接口

/**
* 实现Runnable类, 重写run方法
*/
public class MyThread implements Runnable{
 
    //重写run方法
   @Override
   public void run(){
     
        //写线程要执行的业务,比如我打印一个句话
      System.out.println("这是一个线程");
   
   }
 

}

       

    2.启用这个线程

/**
*启动线程
*/
public class StartThread extends Thread{
 
    //在mian方法中执行多线程
    public static void main(String[] args) {

          //创建MyThread 实例
           MyThread myThread = new MyThread(); 
          //创建线程
           Thread thread = new Thread(myThread);
         //启动线程
          thread.start();


   } 

}

 

 

三。实现多线程的第三种方式(注意:这种实现方式会有一个自定义的返回值)

      1.实现Callable接口

/**
* 实现Callable类, 重写run方法
*/
public class MyThread implements Callable<String>{
 
    //重写call方法
   @Override
   public String call() throws Exception{
     
     //写线程要执行的业务,比如我返回一个句话
     return "这是一个线程";
   
   }
 

}

 

      2.启用这个线程

/**
*启动线程
*/
public class StartThread extends Thread{
 
    //在mian方法中执行多线程
    public static void main(String[] args) {

           //创建 MyThread 实例
            MyThread myThread = new MyThread(); 
          //创建 FutureTask 实例
           FutureTask futureTask = new FutureTask(myThread);   
          //创建线程
          Thread thread = new Thread(futureTask);
         //启动线程
          thread.start(); 

       try{
//获取线程结果
String str = futureTask.get();
//打印结果
System.out.println( str );
}catch (InterruptedException e){
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
   }
}

    好像还有一个线程池,具体可以自行参考

 文章来源B站,作者:人人都是程序员

   仅作个人笔记学习

posted on 2022-08-08 10:04  在bug中写bug  阅读(41)  评论(0)    收藏  举报