`

创建线程两种方式

 
阅读更多

public class T1 extends Thread {
    int i=1;
 public void run() {
   boolean flag=true;
   while(flag){
    System.out.println("GO");
    i++;
    if(i==10){
    flag=false; 
    }
   }
  }  
 
 
  public static void main(String[] args){
   new T1().start();
  }
}

 

 

 

class T3 implements Runnable{
  int i=1;
  public void run(){
       boolean flag=true;
       while(flag){
        System.out.println("NIU");
        i++;
        if(i==10){
       try {
     Thread.sleep(10);
    } catch (InterruptedException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
        }
        if(i==20){
         flag=false;
        }
       }
     }
     
}
public class T2 implements Runnable {
     int i=1;
 public void run(){
      boolean flag=true;
      while(flag){
       System.out.println("GO");
       i++;
       if(i==20){
        flag=false;
       }
      }
    }
 
 public static void main(String[] args){
  Thread T1=new Thread(new T2());
  Thread T2=new Thread(new T3());
  T1.start();
  T2.start();
 }
}

分享到:
评论

相关推荐

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

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

    java用线程两种方式

    在Java中,创建和使用线程主要有两种方式,一种是继承Thread类,另一种是实现Runnable接口。这两种方式在使用上有一些区别,每种方式都有其特定的用法和特点。 首先,继承Thread类的方式。通过继承Thread类来创建...

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

    Java提供了两种主要的方法来创建线程,分别是直接继承自`Thread`类和实现`Runnable`接口。这两种方法各有其特点和适用场景。 1. **继承Thread类**: 当你选择继承`Thread`类时,你需要创建一个新的类,该类直接...

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

    在这个例子中,有两种方式实例化并启动`MyThread`: 1. **代码①**:`MyThread thread = new MyThread();` 这行代码创建了一个`MyThread`对象,但是没有立即启动线程。为了启动线程,需要调用`start()`方法,如`...

    Java多线程-对比创建多线程的两种方式

    Java多线程编程中,创建线程主要有两种方式:继承`Thread`类和实现`Runnable`接口。这两种方式虽然都能实现多线程,但它们在实际应用中有着不同的特性和适用场景。 首先,我们来看看继承`Thread`类的方式。这种方式...

    分离状态创建线程

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

    创建线程 示例 vc++

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

    创建线程的两种方法

    标题提到的"创建线程的两种方法"指的是使用`Thread`类和实现`Runnable`接口。这两种方法都是Java中实现多线程的重要手段,各有特点和适用场景。下面我们将详细探讨这两种方法。 **1. 继承Thread类** 当一个类继承...

    两种多线程使用方式演示.rar

    2. **消息驱动的线程**:另一种方式是基于消息循环的线程,线程的主要工作是处理由消息队列分发的消息。这种方式适用于那些需要响应用户输入或其他事件的情况,如GUI应用程序。在易语言中,你可以使用“启动消息线程...

    多线程两种实现方式Java

    `ThreadProject`可能是包含多个Java文件的项目,这些文件展示了如何通过上述两种方式实现多线程。你可以通过运行这些示例来更好地理解和学习Java多线程的概念。例如,它可能包含一个继承`Thread`的类,一个实现`...

    创建线程及线程间通信

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

    线程创建和管理

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

    Java创建线程的两种方式

    这两种方式各有优缺点,适用于不同的场景。 ### 继承Thread类 当你选择继承`Thread`类来创建线程,你需要按照以下步骤操作: 1. 创建一个新的类,该类继承自`Thread`类。 2. 重写`Thread`类中的`run()`方法,这个...

    多线程两种方式和区别总结

    首先,让我们了解这两种方式的基本概念: 1. **继承Thread类**:这是创建多线程的直接方式,通过创建一个新的类,该类继承自`Thread`类,然后重写`run()`方法。创建线程时,只需要创建该子类的实例并调用`start()`...

    java用线程的两种实现方式设计四个线程两次对J加1两次对J减1

    Java 语言还提供了另一种方式来创建线程,即通过实现 Runnable 接口。在上面的代码中,我们定义了一个 T1 类,该类实现了 Runnable 接口,并覆盖了 run 方法。在 run 方法中,我们使用 while 循环来不断地调用 ...

    线程同步的四种方式

    事件对象有两种状态:有信号(Signaled)和无信号(Unsignaled)。当事件为有信号状态时,等待该事件的线程可以继续执行。事件有手动重置和自动重置两种类型。手动重置事件在释放一个等待线程后仍保持有信号状态,...

    创建线程的源代码资源

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

    易语言两种多线程使用方式演示

    总结来说,易语言提供了“创建线程”和“启动进程”两种多线程实现方式,分别适用于不同场景。学习和掌握这些方法,对于易语言的开发者来说,是提高程序性能和解决复杂问题的重要技能。结合提供的源码,我们可以更...

    VS2019 MFC线程的创建

    - 这两个宏允许动态创建线程对象,使得可以在运行时实例化线程类。 - **步骤3:创建线程对象** - 使用 `AfxBeginThread()` 函数创建线程对象,传递线程类的指针和线程优先级等参数。 - **步骤4:线程同步** -...

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

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

Global site tag (gtag.js) - Google Analytics