多线程1-创建线程-Thread&Runnable

大纲:

  1. Thread创建线程。
  2. Runnable创建线程。
  3. 小结。

一、java创建线程--继承Thead类

创建一个类继承Thead类,并重写run方法。

class Test {
    public static void main(String[] args) {
        System.out.println("当前线程:"+Thread.currentThread());
        new TestThread().start();
        new TestThread().start();
    }

    static class TestThread extends Thread {
        @Override
        public void run() {
            System.out.println("当前线程:"+Thread.currentThread());
        }
    }
}

/**运行结果:
 当前线程:Thread[main,5,main]
 当前线程:Thread[Thread-0,5,main]
 当前线程:Thread[Thread-1,5,main]
 */

二、java创建线程--实现Runnable接口

创建一个类实现Runnable接口,并重写run方法。

class Test {
    public static void main(String[] args) {
        System.out.println("当前线程:"+Thread.currentThread());
        new Thread(new TestThread()).start();
        new Thread(new TestThread()).start();
    }

    static class TestThread implements Runnable {
        @Override
        public void run() {
            System.out.println("当前线程:"+Thread.currentThread());
        }
    }
}

/**
运行结果:
 当前线程:Thread[main,5,main]
 当前线程:Thread[Thread-0,5,main]
 当前线程:Thread[Thread-1,5,main]
 */

小结:

  1. 两种方式都在main主线程下面创建了Thread-0和Thread-1这2个子线程。
  2. run方法不需要我们手动调用,线程开启后自动调用。

原文地址:https://www.cnblogs.com/liuboyuan/p/9945652.html

时间: 2024-10-11 17:24:25

多线程1-创建线程-Thread&Runnable的相关文章

多线程_创建线程_继承Thread类

public class ThreadDemo {   public static void main(String[] args){         Demo d = new Demo();   d.start();      for(int i = 0;i < 100;i++){      System.out.println("MainThread" + i);   }   } } class Demo extends Thread {   public void run(

iOS开发多线程篇—创建线程

iOS开发多线程篇—创建线程 一.创建和启动线程简单说明 一个NSThread对象就代表一条线程 创建.启动线程 (1) NSThread *thread = [[NSThread alloc] initWithTarget:self selector:@selector(run) object:nil]; [thread start]; // 线程一启动,就会在线程thread中执行self的run方法 主线程相关用法 + (NSThread *)mainThread; // 获得主线程 -

Linux多线程程序设计------创建线程

1.创建线程 #include<pthread.h> int pthread_create(pthread_t* tidp,const pthread_attr_t *attr,void*(*start_rtn)(void),void*arg) tidp:线程id attr:线程属性(通常为空) start_rtn:线程要执行的函数 arg:start_rtn的参数 Linux多线程程序设计------创建线程,布布扣,bubuko.com

java 线程 --- Thread,Runnable,Callable 基础学习

java 使用 Thread 类代表线程,所有现场对象都必须是 Thread 类或者其子类的实例.每个线程的作用是完成一定的任务,实际上就是执行一段程序流.java 使用线程执行体来代表这段程序流. 1.继承Thread 类创建线程 启动多线程的步骤如下: (1)定义Thread 类的子类,并重写该类的run() 方法,该run() 方法的方法体就代表类线程需要完成的任务.因此把run() 方法称为线程执行体. (2)创建 Thread 子类的实例,即创建线程对象. (3)调用线程的star()

Java基础教程——多线程:创建线程

多线程 进程 每一个应用程序在运行时,都会产生至少一个进程(process). 进程是操作系统进行"资源分配和调度"的独立单位. Windows系统的"任务管理器"可以查看系统的进程,通过Ctrl+Shift+Esc组合键可以调出"任务管理器". 进程具有三个特征: 独立性:进程拥有自己独立的资源,有私有的地址空间. 动态性:程序是静态的指令集合,而进程是活动的指令集合,进程有其生命周期. 并发性:多个进程可以在同一个处理器上并发执行,互不影响.

python多线程之创建线程

'''创建线程''' from threading import Thread #定义一个函数 def Foo(arg):     print(arg) #创建一个线程对象,并和上面的函数Foo建立关系,args= 传一个值为100作为参数给Foo函数 print("开始创建线程...") t1 = Thread(target=Foo,args=(100,)) t2 = Thread(target=Foo,args=(200,)) #在执行之前规定哪个线程是主线程 t1.setDaem

Java并发编程(一) 两种实现多线程的方法(Thread,Runnable)

Java中实现多线程的方法有两种: 继承Thread类和实现Runnable方法,并重写Run方法,然后调用start()方法启动线程.使用Runnable会比Thread要好很多,主要是以下三个原因: (1)Java语言是单继承的,如果继承了Thread类,那么便无法继承其他类. (2)适合多个相同程序代码的线程区处理同一资源的情况. 测试(Thread类) package com.csdhsm.concurrent; /** * @Title: ThreadDemo.java * @Pack

线程Thread类的start()方法和run()方法

一.初识 java的线程是通过java.lang.Thread类来实现的.VM启动时会有一个由主方法所定义的线程.可以通过创建Thread的实例来创建新的线程.每个线程都是通过某个特定Thread对象所对应的方法run()来完成其操作的,方法run()称为线程体.通过调用Thread类的start()方法来启动一个线程. 在Java当中,线程通常都有五种状态,创建.就绪.运行.阻塞和死亡. 第一是创建状态.在生成线程对象,并没有调用该对象的start方法,这是线程处于创建状态. 第二是就绪状态.

多线程&lt;一&gt;创建的五中方式

一,多线程创建方式一继承Thread类创建线程 Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例.启动线程的唯一方法就是通过Thread类的start()实例方法.start()方法是一个native方法,它将启动一个新线程,并执行run()方法.这种方式实现多线程很简单,通过自己的类直接extend Thread,并复写run()方法,就可以启动新线程并执行自己定义的run()方法.例如: 1 public class MyThread extends Threa