创建线程的方式

实现runable接口

 public static void creatThead1(){
     
        //线程表达方式1 实现runnable接口
        Runnable runnable=()->{
     
            System.out.println("线程跑起来了");
        };
        Thread thread=new Thread(runnable);
        thread.start();  //注意这里线程不要写成run方法,这样就变成了一个普通的方法,就并没有启动线程
    }

继承Thread

 public static void creatThead2(){
     
        //写一个类继承Thread
        Thread thread2=new Thread2();
        thread2.start();
    }

    static class Thread2 extends Thread{
     
        @Override
        public void run() {
     
            System.out.println("线程2跑起来了");
        }
    }

线程池启动

线程数启动本质上也是上面两种

线程的方法:

Thread.sleep(50):
线程睡一会,再到既定时间醒来加入到就绪状态

Thread.yield()
只让出一下下cpu,返回到就绪状态,就是说下次也和其他线程一起竞争cpu,一般使用意义不大

Thread.join()
主要作用是同步,它可以使得线程之间的并行执行变为串行执行。在A线程中调用了B线程的join()方法时,表示只有当B线程执行完毕时,A线程才能继续执行。

你可能感兴趣的:(java,java,多线程)