`
java--hhf
  • 浏览: 308783 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

创建线程的两种方法

阅读更多

                创建线程的两种基本方法

    每个软件的运行都会相应的打开一个进程,而每个进程都可以相应的控制多个线程(thread)。比如:我们玩坦克大战游戏——点击开始运行游戏,开始了坦克大战游戏进程,游戏中我们控制自己的坦克炮轰敌人的坦克,坦克大战进程控制的是坦克,每一辆坦克就是一个独立的线程,每个线程都有自己的生命周期(新建new、就绪runable、运行run、中断pause、结束stop),游戏中新建一个线程就新出现一辆坦克,坦克被击中时该线程结束。游戏关闭时该进程结束。

 

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

    第一种方法是将类声明为 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()方法。

     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();

  

   

0
0
分享到:
评论
4 楼 weiwu2012 2013-03-11  
3 楼 java--hhf 2013-02-21  
    直接调用run方法会发生什么?
——run方法被调用执行,但已经不属于多线程的范畴
2 楼 jiushiyouke 2013-02-21  
问个问题:
    直接调用run方法会发生什么?
1 楼 PV_love 2013-02-21  
- -很基础

相关推荐

    简单了解Java创建线程两种方法

    "Java创建线程两种方法" Java语言中提供了两种创建线程的方法,一种是通过继承Thread类,另一种是通过实现Runnable接口。在本篇文章中,我们将通过示例代码详细介绍这两种方法的实现过程。 1. 通过继承Thread类...

    在Java中创建线程有两种方法

    这两种方法各有其特点和适用场景。 1. **继承Thread类**: 当你选择继承`Thread`类时,你需要创建一个新的类,该类直接继承自`Thread`。然后,在这个子类中,你需要覆盖`run()`方法,将线程执行的任务放入`run()`...

    Qt创建线程的两种方式+线程池方式

    1.方式1:继承 QThread 类方式:...两种方式的选择取决于具体的需求和设计。仅需简单的线程操作,继承 QThread 类方式可能更为简洁。如果需要更灵活的线程控制和对象交互,使用类对象的 moveToThread() 方式可能更适合

    java中创建线程两个方法及区别

    Java提供了多种创建线程的方式,其中最常见的是通过继承`Thread`类和实现`Runnable`接口这两种方法。下面将详细阐述这两种创建线程的方法及其区别。 ### 一、通过继承`Thread`类创建线程 当一个类继承了`Thread`类...

    在Java中创建线程有两种方法.doc

    ### 在Java中创建线程的两种方法 #### 一、概述 在Java中,创建线程主要有两种方式:一种是通过继承`Thread`类来实现;另一种是通过实现`Runnable`接口来完成。这两种方法都能有效地创建并启动线程,但它们各自的...

    java用线程两种方式

    通过继承Thread类来创建线程,需要将线程要执行的代码放在继承Thread类的子类的run()方法中。这种方式实现线程较为直观,因为可以直接调用Thread类的方法。例如,在给定的代码示例中,EvenNumber和OddNumber类都继承...

    java创建线程的两种方法区别

    Java 创建线程的两种方法区别 Java 中创建线程有两种方法:继承 Thread 类和实现 Runnable 接口。这两种方法的实现机制不同,导致了不同的线程行为。本文将通过实例代码对这两种方法进行比较和分析,帮助读者更好地...

    易语言多线程传递文本参数两种方法

    这两种方法各有优缺点。第一种方法简单直接,但参数只能在创建线程时一次性传递;第二种方法则允许线程在运行过程中随时读取或修改参数,但可能需要处理更多的同步问题。 总结来说,易语言中的多线程参数传递既可以...

    创建线程 示例 vc++

    在VC++中,创建线程主要有两种方法:使用Windows API函数和使用C++标准库中的`std::thread`。 1. **使用Windows API函数创建线程** 在Windows API中,可以使用`CreateThread`函数来创建新的线程。首先,你需要...

    分离状态创建线程

    在操作系统中,线程分为两种状态:可结合的(joinable)和分离的(detached)。理解这两种状态及其差异对于有效管理线程资源至关重要。 可结合线程是默认状态,意味着在创建线程后,父线程需要通过调用`pthread_...

    创建线程的源代码资源

    在Java中,创建线程有以下两种方法: 1. 继承Thread类:创建一个新的类,该类继承自`java.lang.Thread`,然后重写`run()`方法。实例化这个新类的实例后,通过调用`start()`方法来启动线程。 ```java class ...

    线程创建和管理

    在C#中,线程池和Thread类是两种常用的线程创建和管理方式。 一、线程池(ThreadPool) 线程池是一个容纳线程的容器,一个应用程序最多只能有一个线程池。ThreadPool是一个静态类,通过QueueUserWorkItem()方法将...

    MFC创建多线程(工作者线程)demo

    本篇文章将深入探讨如何在MFC中创建多线程,特别是工作者线程,并且会针对`AfxBeginThread`和`BeginThread`两种方法进行比较。 首先,我们来看标题所提到的“MFC创建多线程(工作者线程)demo”。工作者线程通常...

    创建线程及线程间通信

    创建线程主要有两种方式:一是通过系统调用来创建,比如在POSIX系统中使用`pthread_create`函数;二是通过语言支持,如Java中的`Thread`类或C#的`Thread`类。在给定的描述中,提到的是在VC6.0环境下实现,这意味着...

    C#创建线程

    在C#中,创建线程主要通过以下两种方式: 1. **System.Threading.Thread** 类:这是最基础的创建线程的方法。你可以创建一个Thread对象,并传入一个委托(方法)作为线程的入口点。例如: ```csharp Thread ...

    易语言多线程传递文本参数两种方法源码

    易语言多线程传递文本参数是开发中常常遇到的问题,下面将详细介绍两种常见的方法。 **方法一:使用全局变量** 易语言中,全局变量可以在程序的不同线程间共享数据,因此可以用来传递参数。这种方式简单直接,但...

    Linux下预创建线程并发网络服务器的两种实现方法.pdf

    【Linux下预创建线程并发网络服务器的两种实现方法】 在Linux操作系统中,为了提高网络服务器的效率,减少系统开销,并缩短服务器响应时间,预创建线程是一种常见的技术手段。预创建线程指的是在客户请求到来之前,...

    创建线程类轻松实现线程管理

    这两种方法都可以让类成为可执行的线程,但它们之间存在一些差异。 1. 继承`Thread`类: 当你创建一个新的类并直接继承`Thread`类时,你可以重写`run()`方法来定义线程执行的代码。例如: ```java public class ...

    Java创建子线程的两种方法

    比较创建线程的两种方法: 开发中,优先选择实现 Runnable 接口的方式的原因是: (1)实现的方式没有类的单继承的局限性 (2)实现的方式更适合来处理多个线程共享数据的情况 联系:Thread 实现了 Runnable ...

Global site tag (gtag.js) - Google Analytics