zoukankan      html  css  js  c++  java
  • 创建线程的两种方式


    Java中创建线程有两种方式,一种是继承Thread类,一种是实现Runnable接口.下面就这两种方式分别演示一下:

    1.通过继承Thread类创建线程类。

    package com.thread;
    public class FirstThead {
    
    	public static void main(String[] args) {
    	     new MyThread().start();
    	     new MyThread().start();  
    		 
    	}
    }
    
    class MyThread extends Thread{
    	
    	//重写run方法
    	@Override
    	public void run() {
           for (int i=0;i<100;i++){
        	   
        	   System.out.println(getName()+" :"+i);
           }
    	}
    	
    }
    

    输出结果部分如下:

    Thread-0 :0
    Thread-0 :1
    Thread-0 :2
    Thread-1 :0
    Thread-1 :1
    Thread-1 :2
    Thread-1 :3
    Thread-1 :4
    Thread-1 :5
    Thread-1 :6
    Thread-1 :7
    Thread-1 :8
    Thread-1 :9
    Thread-1 :10
    Thread-1 :11
    Thread-1 :12

    由上面结果,我们可以间接地看出,两条线程的循环变量并不连续,表明它们没有共享数据!

    2、通过实现Runnable接口来创建线程类.

    package com.thread;
    
    public class SecondThread {
    
    	public static void main(String[] args) {
               Thread t1=new Thread(new MyThead(),"first");
               t1.start();
               Thread t2=new Thread(new MyThead(),"second");
               t2.start();
    	}
    }
    
    class MyThead implements Runnable{
    	@Override
    	public void run() {
            for (int i=0;i<100;i++){
            	  System.out.println(Thread.currentThread().getName()+"    "+i);
            }
    		
    	}
    }
    

    部门输出结果如下:

    second    84
    second    85
    second    86
    first    35
    first    36
    first    37
    second    87
    second    88
    second    89
    second    90
    second    91
    second    92
    second    93
    first    38
    second    94
    first    39
    second    95


    至此两种创建线程的方式已经完成,顺便唠叨一下,当继承Thread时,我们可以直接调用getName()方法获得当前线程的名字;实现了Runnable接口时,可以使用Thread.currentThread().getName()方法获得当前线程的名字!


     

     

  • 相关阅读:
    angularJs中ngModel的坑
    Angular中ngModel的$render的详解
    typescript中的工具 tsd
    angula组件-通过键盘实现多选(原创)
    angular指令系列---多行文本框自动高度
    微信公众号系列 --- ionic在IOS的键盘弹出问题
    angular Jsonp的坑
    关于js的一些基本知识(类,闭包,变量)
    介绍Angular的注入服务
    2019 SDN大作业
  • 原文地址:https://www.cnblogs.com/wuyida/p/6300449.html
Copyright © 2011-2022 走看看