zoukankan      html  css  js  c++  java
  • Java多线程(二)、启动一个线程的3种方式

    package org.study.thread;
    
    /**
     * 启动一个线程的3种方式
     */
    public class TraditionalThread {
    
    	public static void main(String[] args) {
    		// 1. 继承自Thread类(这里使用的是匿名类)
    		new Thread(){
    			@Override
    			public void run() {
    				while(true) {
    					try {
    						Thread.sleep(500);
    					} catch (InterruptedException e) {
    						e.printStackTrace();
    					}
    					System.out.println("threadName: " + Thread.currentThread().getName());
    				}
    			};
    		}.start();
    		
    		// 2. 实现Runnable接口(这里使用的是匿名类)
    		new Thread(new Runnable() {
    			@Override
    			public void run() {
    				while(true) {
    					try {
    						Thread.sleep(500);
    					} catch (InterruptedException e) {
    						e.printStackTrace();
    					}
    					System.out.println("threadName: " + Thread.currentThread().getName());
    				}
    			}
    		}).start();
    		
    		// 3.即实现Runnable接口,也继承Thread类,并重写run方法
    		new Thread(new Runnable() {
    			@Override
    			public void run() {	// 实现Runnable接口
    				while(true) {
    					try {
    						Thread.sleep(500);
    					} catch (InterruptedException e) {
    						e.printStackTrace();
    					}
    					System.out.println("implements Runnable thread: " + Thread.currentThread().getName());
    				}
    			}
    		}) {	// 继承Thread类
    			@Override
    			public void run() {
    				while(true) {
    					try {
    						Thread.sleep(500);
    					} catch (InterruptedException e) {
    						e.printStackTrace();
    					}
    					System.out.println("extends Thread thread: " + Thread.currentThread().getName());
    				}
    			}
    		}.start();
    	}
    }


    执行结果:

    threadName: Thread-0

    threadName: Thread-1

    extends Thread thread: Thread-2

    threadName: Thread-1

    threadName: Thread-0

    extends Thread thread: Thread-2

    threadName: Thread-1

    threadName: Thread-0

    extends Thread thread: Thread-2

    。。。


  • 相关阅读:
    journalctl命令
    systemctl命令
    AgileConfig
    优化 ASP.NET Core Docker 镜像的大小
    ASP.NET Core 集成 React SPA 应用
    使用SQL-Server分区表功能提高数据库的读写性能
    AgileConfig
    用了很多年Dubbo,连Dubbo线程池监控都不知道,觉得自己很厉害?
    Prometheus为你的SpringBoot应用保驾护航
    在冷风中我凌乱了半小时,只因健康码刷不出来
  • 原文地址:https://www.cnblogs.com/xyang0917/p/4172511.html
Copyright © 2011-2022 走看看