线程概述以及线程的两种创建方式

Posted java-jiangtao-home

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程概述以及线程的两种创建方式相关的知识,希望对你有一定的参考价值。

package countThread;

public class CountThread extends Thread{
    
    private String name;
    
    
    public CountThread(String name) {
        super(name);
    }

    /**
     * 线程的执行体
     * 
     * 创建新执行线程有两种方法,一种方法是将类声明为Thread的子类,该子类应该重写Thread类中的run方法
     * 接下来可以分配并且启动该子类的实例
     */
    @Override
    public void run() {
        for(int i=0;i<50;i++) {
            System.out.println(this.getName()+"hello"+i);
        }
    }

}
package countThread;

public class CountThread2 implements Runnable{
    
    
    

    /**
     * 线程的执行体
     * 
     * 创建新执行线程有两种方法,一种方法是将类声明为Thread的子类,该子类应该重写Thread类中的run方法
     * 接下来可以分配并且启动该子类的实例
     */
    @Override
    public void run() {
        for(int i=0;i<50;i++) {
            //输出线程的名字
            System.out.println(Thread.currentThread().getName()+"hello"+i);
        }
    }

}
package countThread;

public class Demo2 {
    public static void main(String[] args) {
        CountThread ct = new CountThread("我是1");
        CountThread ct1 = new CountThread("我是2");
        /*
        ct.setName("线程1");
        ct1.setName("线程2");
        */
        //启动线程
        /**
         *  ct.run()!!!不是这么调用的,这样只是调用了run方法
         */
        ct.start();
        ct1.start();
    }
}
package countThread;

public class Demo3 {
    public static void main(String[] args) {
        CountThread2 ct = new CountThread2();
        Thread t1 = new Thread(ct,"123");
        CountThread2 ct1 = new CountThread2();
        Thread t2 = new Thread(ct1,"456");
        t1.start();
        t2.start();
        
    }
}

 

以上是关于线程概述以及线程的两种创建方式的主要内容,如果未能解决你的问题,请参考以下文章

多线程 Thread 线程同步 synchronized

Java线程Thread使用匿名内部类创建的两种方式

创建线程有哪两种方法,它们各自的优缺点是啥?

java中创建线程的两种方式有啥区别

Java创建线程的两种方法

Java多线程——创建线程的两种方式