`
danielhjd
  • 浏览: 246351 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

(笔记)有关thread的相关知识之2---运行顺序

    博客分类:
  • JDBC
阅读更多
example1:
package Thread;
public class TestThread6 {
public static void main(String args[]){
Thread t = new Runner6();
   t.start();

for(int i=0; i<3; i++) {
System.out.println("MainThread: " + i);
}
  }
}

class Runner6 extends Thread {
public void run() {
System.out.println(Thread.currentThread().isAlive());
for(int i=0;i<3;i++) {
System.out.println("SubThread: " + i);
}
}
}

---输出结果---
MainThread: 0
MainThread: 1
MainThread: 2
true
SubThread: 0
SubThread: 1
SubThread: 2

example2:

package Thread;
public class TestThread5 {
public static void main(String args[]){
Runner5 r = new Runner5();
       Thread t = new Thread(r);
        t.start();
       
        try{
        t.join();
        }catch(InterruptedException e){
        }
       
        for(int i=0;i<3;i++){
        System.out.println("主线程:" + i);
        }
    }
}

class Runner5 implements Runnable {
public void run() {
for(int i=0;i<3;i++) {
System.out.println("SubThread: " + i);
}
}
}
---输出结果---
SubThread: 0
SubThread: 1
SubThread: 2
主线程:0
主线程:1
主线程:2

对比发现在执行thread的时候,先执行Main中的数据,然后执行thread中的run方法。而在example2中会发现,是先执行Thread中的run方法然后执行main中的方法,原因是适应的thread中的join()方法。此处值得注意。
分享到:
评论

相关推荐

    个人笔记--Java_API

    ### Java核心API知识点详解 #### 一、集合框架 **1.1 什么是集合** 集合是Java编程语言中用于存储和操作多个元素的一种容器。它提供了动态管理元素的能力,允许在运行时添加或删除元素。 **1.2 集合与数组** - ...

    JUC编程笔记-zfs.pdf

    本笔记主要讲解了 Java 中的并发编程相关知识,包括进程和线程、并发和并行、异步和同步等概念的解释和区别。 进程与线程 进程是指令和数据的集合,程序被加载到内存中,CPU 执行指令,磁盘和网络等设备参与进程的...

    java基础知识笔记总结

    ### Java基础知识笔记总结 #### 一、Java概述与基础知识 1. **何为编程?** - 编程是通过特定的计算机语言来编写指令,让计算机能够执行一系列任务的过程。 2. **Java语言概述,历史、特点** - Java是由Sun ...

    Java基础笔记-笔试用

    以上就是Java基础笔记中可能涵盖的关键知识点,理解并熟练掌握这些概念对于Java开发者来说至关重要,特别是在面试和笔试中。深入学习和实践这些知识,将有助于提升你的编程技能和解决问题的能力。

    java笔记 java笔记

    ### Java基础知识概述 #### 1. 前言 Java是一种广泛使用的面向对象的编程语言,因其跨平台性、安全性和强大的功能而受到欢迎。Java的设计理念是“一次编写,到处运行”,这意味着编写的Java程序可以在任何安装了...

    java学习笔记 初学者必读

    2. 一•基础知识 2-4 2.1. 配置环境 2-4 2.2. Java中基本概念 2-5 3. 二•定义,关键字和类型 3-5 3.1. 注释的三种形式 3-5 3.2. Java代码中的“;”、“{}”、“ ” 3-5 3.3. 标识符 3-5 3.4. 数据类型 3-6 3.5. ...

    java笔记,上课笔记

    2. **重载和覆盖**: - 重载(Overloading)是指在同一个类中可以有多个同名方法,但它们的参数列表不同(如参数数量、类型或顺序不同)。 - 覆盖(Overriding)是指子类重写父类中的方法,要求子类方法与父类方法...

    JavaSE笔记_工具.zip

    这份JavaSE笔记可能涵盖了以上部分或全部知识点,通过学习和理解这些内容,开发者可以熟练地运用Java进行软件开发。为了更好地利用这些笔记,建议按照章节逐步学习,结合实际编程练习,加深理解和记忆。同时,压缩包...

    JAVA 笔记 转的笔记

    ### JAVA 笔记知识点概述 #### 一、JAVA特点与运行原理 - **JAVA特点**: - 平台无关性:通过Java虚拟机(JVM)实现跨平台兼容。 - 面向对象:支持封装、继承、多态等特性。 - 安全性:提供内存管理机制避免...

    java各种笔记.zip

    以上只是部分Java学习中的关键知识点,实际的"java各种笔记.zip"文件可能涵盖更多内容,如JSP、Servlet、JavaFX、Java 8新特性等。这些笔记对于系统学习Java编程,提升技能,以及解决实际问题都将大有裨益。

    java课程笔记

    Java 多线程编程基础知识 在 Java 中,多线程编程是通过继承 Thread 类或实现 Runnable 接口来实现的。以下是关于多线程编程的重要知识点: 1、 进程和线程 在操作系统中,可以同时运行多个任务(程序),这就是...

    良葛格Java 学习笔记(繁体全)

    《良葛格Java 学习笔记(繁体全)》是一部详尽的Java学习资源,旨在帮助初学者和进阶者深入理解Java编程语言。笔记内容涵盖了从基础语法到高级特性的广泛领域,以繁体中文呈现,适合中文阅读习惯的用户。下面将对其中...

    毕向东java基础 笔记 整理

    根据给定的信息,我们可以将这份笔记分为几个主要的知识点进行详细的阐述。 ### 一、Java 语法基础 #### 1. 变量 - **定义**:变量是用于存储数据值的基本单元。 - **类型**:Java 中的变量类型包括基本类型(如 `...

    多线程-狂神说Java学习笔记

    本学习笔记将深入探讨Java多线程的相关知识,包括其原理、实现方式、同步机制以及常见问题。 ### 一、多线程的基本概念 多线程是指在一个程序中存在两个或更多的执行线程,这些线程共享同一内存空间,但各自拥有...

    Java多线程自学笔记

    ### Java多线程自学笔记知识点总结 #### 一、Java多线程概念 - **多线程定义**:多线程是指程序中可以同时执行多个线程的能力。Java虚拟机支持多线程...希望这份笔记能够帮助读者更好地理解Java多线程的相关知识。

    Java多线程学习笔记

    ### Java多线程学习笔记 #### 一、线程的基本概念 在计算机科学中,**线程**(Thread)是程序执行流的最小单位。一个标准的程序只能做一件事情,而通过多线程技术,可以让程序同时处理多个任务。在Java中,线程是...

    阿里P8 架构师整理Java学习笔记.pdf

    ### Java学习笔记知识点总结 #### 一、JVM与内存管理 ...通过以上知识点的总结,我们可以清晰地了解到Java学习笔记中涵盖的主要内容和技术细节,有助于深入理解和掌握Java语言及相关的开发技术。

    Java入门学习笔记

    ### Java入门学习笔记 #### 一、Java特点与运行原理 **1.1 Java特点** - **简单性:** Java的设计使得它易于学习且避免了许多传统编程语言中存在的复杂性。 - **面向对象:** Java是一种纯面向对象的语言,支持...

    Android开发教程笔记完全版.zip

    下面,我们将按照笔记的章节结构,逐一解析其中可能涵盖的知识点。 1. **Android系统架构** - Android系统的层次包括Linux内核、硬件抽象层、运行时库、应用程序框架以及应用程序。 - Linux内核为Android提供基础...

Global site tag (gtag.js) - Google Analytics