package com.thread;

 /**
  * start()和run()的区别
  * start():并行执行
  * run():方法调用,顺序执行
  * @author  95Yang
  */
 public class Thread1_Runable_run_or_start
 {
     /**
      * main方法1
      * 直接调用Runnable实现类Runner1的run(),是
      *      方法调用:先执行完run()里面的内容,再执行后面的内容
      * @param args
      * @see [类、类#方法、类#成员]
      */
     public static void main0(String[] args)
     {
         Runner1 r = new Runner1();
         r.run();

         //main方法执行
         for (int j = 0; j < 20; j++)
         {
             System.out.println("main method ------------ "+j);
         }
     }

     /**
      * main方法1
      * 把Runnable放到Thread的构造里,然后执行THread的start(),是
      *      并行执行:Runner里面的run()的内容和后面的内容同时执行
      * @param args
      * @see [类、类#方法、类#成员]
      */
     public static void main(String[] args)
     {
         Runner1 r = new Runner1();
         Thread thread = new Thread(r);
 //        thread.run();//和r.run()相同,属于方法调用,不是并行执行
         thread.start();

         //main方法执行
         for (int j = 0; j < 20; j++)
         {
             System.out.println("main method ------------ "+j);
         }
     }
 }

 class Runner1 implements Runnable
 {
     public void run()
     {
         for (int i = 0; i < 20; i++)
         {
             System.out.println("Runner1:"+i);
         }
     }
 }

线程入门之start()和run()的区别的更多相关文章

  1. 线程:生命周期、实现方式、start()和run()的区别!

    1.线程的生命周期 要想实现多线程,必须在主线程中创建新的线程对象.Java语言使用Thread类及其子类的对象来表示线程,在它的 一个完整的生命周期中通常要经历如下的五种状态: 新建:当一个Thre ...

  2. Java多线程系列--“基础篇”03之 Thread中start()和run()的区别

    概要 Thread类包含start()和run()方法,它们的区别是什么?本章将对此作出解答.本章内容包括:start() 和 run()的区别说明start() 和 run()的区别示例start( ...

  3. java多线程系类:基础篇:03Thread中的start()和run()的区别

    这个系类的内容全部来源于http://www.cnblogs.com/skywang12345/p/3479024.html.特别在此声明!!! 概要 Thread类包含start()和run()方法 ...

  4. 《day14---多线程入门_进阶》

    /* 多线程: 进程:正在执行中的程序,一个应用程序启动后在内存中运行的那片空间.进程具有动态性和并发性. 线程:进程中的一个执行单元.负责进程中的程序的运行的.一个进程中至少要有一个线程. 一个进程 ...

  5. Java多线程3:Thread中start()和run()的区别

    原文:http://www.cnblogs.com/skywang12345/p/3479083.html start() 和 run()的区别说明start():它的作用是启动一个新线程,新线程会执 ...

  6. java多线程(1)---线程创建、start、run

    线程创建.start.run 一.创建线程方式 java创建线程的方式,主要有三种:类Thread.接口Runnable.接口Callable. 1.Thread和Runnable进行比较 他们之间的 ...

  7. Java基础加强之并发(三)Thread中start()和run()的区别

    Thread中start()和run()的区别 start() : 它的作用是启动一个新线程,新线程会执行相应的run()方法.start()不能被重复调用.run()   : run()就和普通的成 ...

  8. java 多线程系列基础篇(三)之start()和run()的区别

    概要 Thread类包含start()和run()方法,它们的区别是什么?本章将对此作出解答. start() 和 run()的区别说明 start() : 它的作用是启动一个新线程,新线程会执行相应 ...

  9. Java多线程和并发(二),Thread中的start和run的区别

    目录 1.调用run方法 2.调用start方法 3.start和run的区别 二.Thread中的start和run的区别 1.调用run方法 public class ThreadTest { p ...

随机推荐

  1. sql如何将同个字段不同值打印在一行

    group_concat(distinct(img)) group by id通过id分组把img的值打印在一行group_concat()通常和group by一起使用,功能是把某个字段的值打印在一 ...

  2. flex 添加右键链接

    private var myMenu:ContextMenu; private function setViewerVersion():void { var menuItem:ContextMenuI ...

  3. ModalDialog.js

    1. add <base target="_self" /> in the page of dialog, no need to use frame: <head ...

  4. XCode属性面板使用说明

    Xcode 中Interface Builder 工具 是一个功能强大的“所见即所得”开发工具.本文主要介绍属性面板 和  对象库面板 对象库面板: 提供了所有Cocoa Touch 库给我们定义好的 ...

  5. aspnet excel导入导出SQLserver

    http://my.csdn.net/libin690145955/code/detail/452 http://blog.csdn.net/ltoper/article/details/532980 ...

  6. 八大排序算法之四选择排序—堆排序(Heap Sort)

    堆排序是一种树形选择排序,是对直接选择排序的有效改进. 基本思想: 堆的定义如下:具有n个元素的序列(k1,k2,...,kn),当且仅当满足 时称之为堆.由堆的定义可以看出,堆顶元素(即第一个元素) ...

  7. Python time clock()方法

    描述 Python time clock() 函数以浮点数计算的秒数返回当前的CPU时间.用来衡量不同程序的耗时,比time.time()更有用. 这个需要注意,在不同的系统上含义不同.在UNIX系统 ...

  8. Linux hrtimer分析(2)

    http://blog.csdn.net/angle_birds/article/details/17375901 本文介绍Linux2.6.29中,配置高精度模式的hrtimer与未配置高精度模式时 ...

  9. asp.net学习资料,mvc学习资料

    http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/adding-validation-to-the-model

  10. 动态规划(DP),模拟

    题目链接:http://poj.org/problem?id=1088 Memory: 252KTime: 16MSLanguage: C++Result: Accepted 解题报告: 1.lm[i ...