zoukankan      html  css  js  c++  java
  • Thread 和 Runnable创建新线程的区别,Runnable可以共享线程类的实例属性

    Thread实现多线程:

    public class Thread2 extends Thread{

    public  int i;

    public void run(){

    for(; i < 100 ;i++) {

    System.out.println(getName() + " " + i);

    }

    }

    public static void main(String[] args){

    for (int j = 0; j < 100; j++) {

    System.out.println(Thread.currentThread().getName() + " " + j);

    if (j == 20) {

    new Thread2().start();

    new Thread2().start();

    }

    }

    }

    }

    运行部分结果:

     

    Thread-1 97

    Thread-1 98

    Thread-1 99

    main 21

    main 22

    main 23

    main 24

    main 25

    main 26

    main 27

    main 28

    Thread-2 0

    Thread-2 1

    Thread-2 2

    Thread-2 3

    Thread-2 4

    可以看出各个线程的属性不共享


    //Runnable 实现多线程

     

    public class Thread1 implements  Runnable{

    public  int i;

    public void run(){

    for(; i < 100 ;i++) {

    System.out.println(Thread.currentThread().getName() + " " + i);

    }

    }

    public static void main(String[] args){

    for (int j = 0; j < 100; j++) {

    System.out.println(Thread.currentThread().getName() + " " + j);

    if (j == 20) {

    //new Thread1().start();

    Thread1 ss = new Thread1();

    new Thread(ss,"新线程1").start();

    new Thread(ss,"新线程2").start();

     

    }

    }

    }

    }

    运行部分结果:

    新线程1 45

    新线程1 46

    新线程1 47

    新线程1 48

    新线程2 49

    新线程2 50

    新线程2 51

    新线程2 52

    新线程2 53

    新线程2 54

    新线程2 55

    新线程2 56

    新线程2 57

    可以看出属性是共享的
  • 相关阅读:
    HTML当中特殊字符的表示
    溢出文本用“...”代替
    【转】图标字体化浅谈
    字体在网页中画ICON图标
    图片轮播
    js获取网页屏幕可视区域高度
    MVC入口程序 | 简单调用及实例化
    初学者对于MVC架构模式学习与理解
    PHP初学习笔记(2015/4/8)
    linux常用20命令 --转载
  • 原文地址:https://www.cnblogs.com/stsinghua/p/6418700.html
Copyright © 2011-2022 走看看