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

    。。。


  • 相关阅读:
    归并排序处理复杂对象例子
    Java归并排序的递归与非递归实现
    Java实现一个双向链表的倒置功能
    Node<T> 的作用
    Tomcat控制台总是打印日志问题的解决办法
    git回滚部分文件到某个版本
    ios-deploy was not found
    Ionic3的http请求如何实现token验证,并且超时返回登录页
    Ionic开发遇到的坑整理
    使用gradle命令代替CUBA Studio,启动项目
  • 原文地址:https://www.cnblogs.com/xyang0917/p/4172511.html
Copyright © 2011-2022 走看看