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

(笔记)有关thread的相关知识理解1

    博客分类:
  • JDBC
阅读更多
-------Thread------
线程(Thread)是程序中一个单一的顺序控制流程.在单个程序中同时运行多个线程完成不同的工作,称为多线程.

创建新执行线程有两种方法。

一种方法是将类声明为 Thread 的子类
该子类应重写 Thread 类的 run 方法。接下来可以分配并启动该子类的实例。例如,计算大于某一规定值的质数的线程可以写成:

   class PrimeThread extends Thread {
         long minPrime;
         PrimeThread(long minPrime) {
             this.minPrime = minPrime;
         }

         public void run() {
             // compute primes larger than minPrime
              . . .
         }
     }


然后,下列代码会创建并启动一个线程:


     PrimeThread p = new PrimeThread(143);
     p.start();
创建线程的另一种方法是声明实现 Runnable 接口的类。该类然后实现 run 方法。然后可以分配该类的实例,在创建 Thread 时作为一个参数来传递并启动。采用这种风格的同一个例子如下所示:

class PrimeRun implements Runnable {
         long minPrime;
         PrimeRun(long minPrime) {
             this.minPrime = minPrime;
         }

         public void run() {
             // compute primes larger than minPrime
              . . .
         }
     }

然后,下列代码会创建并启动一个线程:


     PrimeRun p = new PrimeRun(143);
     new Thread(p).start();

-----------------------------
在一个程序中执行thread的时候,是先执行主函数内代码,执行完后才执行thread中的run方法。实际例子如下:

package Thread;
public class TestThread1 {
public static void main(String args[]) {
Runner1 r = new Runner1();
r.start();
for(int i=0; i<3; i++) {
System.out.println("Main Thread:------" + i);
}
}
}

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

输出结果为:
Main Thread:------0
Main Thread:------1
Main Thread:------2
Runner1 :0
Runner1 :1
Runner1 :2
分享到:
评论

相关推荐

    AN0012-RT-Thread-文件系统应用笔记1

    《RT-Thread 文件系统应用笔记》是针对RT-THREAD实时操作系统中文件系统应用的一份详细指南。...这份应用笔记不仅提供了理论知识,还包含了实际操作的指导,对于深入理解和应用RT-THREAD的文件系统具有很高的参考价值。

    AN0026-RT-Thread-WLAN 框架应用笔记1

    《AN0026-RT-Thread-WLAN框架应用笔记1》 本文主要探讨了RT-Thread操作系统中的WLAN框架的应用,旨在为开发者提供详细的操作指南和理解该框架的必要知识。RT-Thread是由上海睿赛德电子科技有限公司开发的一款开源、...

    超详细的Java复习知识点2019——个人笔记.zip

    这份名为"超详细的Java复习知识点2019——个人笔记"的文档,旨在为初学者提供一个全面且深入理解Java基础知识的指南。笔记内容可能涵盖了以下几个关键领域: 1. **Java语法基础**:包括变量、数据类型、运算符、...

    java基础知识笔记

    Java基础是编程世界中至关重要的一个领域,尤其对于那些想要深入理解并掌握Java这门语言的开发者来说。"Core Java"涵盖了Java语言的基础概念、语法、数据类型、控制结构、类与对象、接口、异常处理、集合框架以及多...

    大内笔记JAVA基础知识的小总结

    【Java基础知识】 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems开发,现在由甲骨文公司维护。它的设计理念是“一次编写,...通过深入理解和实践这些知识点,开发者能够构建出高效、稳定的Web应用程序。

    java基础知识学习笔记

    最后,笔记可能会提及Java的异常处理、反射机制、注解(Annotation)以及JVM(Java虚拟机)的工作原理,这些都是深入理解Java的必备知识。 总的来说,“java基础知识学习笔记”是一份全面的教程,覆盖了Java编程的...

    Android 系统知识总结+培训课程+笔记

    这个“Android系统知识总结+培训课程+笔记”包含了一系列深入学习Android开发的重要资料,涵盖了从基础到高级的各种主题,适合Android开发者或者对Android系统有兴趣的学习者使用。这份资料可能与在青岛巴黎春天广场...

    黑马java教程知识点笔记整理

    【Java编程基础】 ...以上是黑马Java教程知识点笔记的主要内容,涵盖了Java编程的基础到进阶知识,是学习和巩固Java技能的重要参考资料。通过深入理解和实践这些知识点,开发者可以逐步提升Java编程能力。

    AN0025-RT-Thread-电源管理组件应用笔记1

    《AN0025-RT-Thread-电源管理组件应用笔记1》是关于RT-Thread操作系统中电源管理组件的详细指南,旨在帮助开发者理解和利用该组件实现高效的物联网设备电源管理,降低能耗,延长设备电池寿命。 1. **电源管理组件的...

    Java基础知识学习笔记

    这份"Java基础知识学习笔记"显然是一份集大成者的学习资料,对于初学者和有一定经验的开发者来说,都是宝贵的资源。以下是对这些笔记可能包含的重要知识点的详细说明: 1. **Java语法基础**:包括变量、数据类型...

    java基础的详细案例笔记

    这份笔记可能是作者在学习过程中对每个关键知识点的理解与实践总结,对于自我学习或教学都是极具价值的。 首先,我们来回顾一下Java语言的基础部分: 1. **Java环境搭建**:笔记可能包含如何下载JDK,配置Java环境...

    绝对经典的java笔记,知识点全面,还有测试题

    这份“绝对经典的Java笔记”显然是一份全面涵盖了Java核心知识点的资料,旨在帮助学习者深入理解Java语言,并通过测试题进行自我检验。 首先,笔记可能包括以下几个部分: 1. **Java基础**:这部分会介绍Java的...

    java se学习笔记

    【Java SE学习笔记】是针对Java初学者的一份详实的学习资源,主要涵盖了Java的基础知识、进阶概念以及编程实践。这份笔记以HTML格式呈现,方便读者在线阅读或下载后离线浏览。以下是对这份笔记可能包含的重要知识点...

    JUC个人笔记1

    总之,这篇笔记涵盖了Java并发编程的关键知识点,包括线程交互的注意事项、并发控制机制的使用以及线程状态的理解。这些内容对于构建高效、稳定的多线程应用程序至关重要。在实际工作中,合理运用这些技巧可以有效...

    Java基础知识笔记

    本笔记将深入探讨Java的基础知识,帮助初学者理解其核心概念。 一、Java语法基础 Java的语法基于C++,但更简洁,去除了容易引起错误的特性,如指针。Java程序由类组成,每个类都包含方法和变量。主程序通常在名为`...

    非常详细javaSE学习笔记.rar

    这份压缩包中的练习源码例子可以帮助读者更好地理解和应用这些理论知识,而相关资料和PPT则可能提供更深入的讨论和实践指导。无论你是初学者还是有经验的开发者,这份详尽的Java SE学习笔记都是一个宝贵的资源。

    java笔记全套下载

    此外,Java笔记可能还会涵盖Java EE相关的知识,例如: 14. **Servlet和JSP**:构建动态Web应用的基本组件。 15. **WebSocket**:实现实时通信的技术。 16. **MVC框架**:如Spring MVC,用于构建Web应用的架构模式。...

    宋红康java笔记.rar

    这份压缩包文件包含了大量的Java编程知识点,旨在帮助初学者和有经验的开发者深入理解和掌握Java语言的核心概念与高级特性。以下是根据这份笔记整理的一些关键知识点: 1. **Java基础**:Java的基础语法是学习的...

Global site tag (gtag.js) - Google Analytics