java 多线程5(创建方式)

实现Runnable接口:



问题1:Runnable实现类的对象是线程对象吗?

答:不是,该对象只不过是实现了Runnable接口的对象而已,只有是Thread或Thread的子类才是线程对象。



问题2:为什么要把Runnable实现类的对象最为,实参传递给Thread对象呢?作用是什么?

答:把Runnable实现类的对象的run方法作为了线程的任务代码去执行了。

import java.util.Scanner;

public class EX10 {
    public static void main(String[] args) {
        MyThread mt = new MyThread();
        Thread thread = new Thread(mt, "狗娃");
        thread.start();
        for(int  i = 0; i < 100; i++){
            System.out.println(Thread.currentThread().getName() + ": " + i);
        }
    }
}

class MyThread implements Runnable{
    @Override
    public void run(){
        for(int  i = 0; i < 100; i++){
            System.out.println(Thread.currentThread().getName() + ": " + i);
        }
    }
}
时间: 2024-08-04 22:15:37

java 多线程5(创建方式)的相关文章

java多线程的创建方式

根据Thread类中的run方法 public void run() { if (this.target == null) return; this.target.run(); } 可以知道运行多线程代码有两种方式,一种是运行Thread类run方法中的代码,一种是运行target中的run代码. 方法一:运行Thread类run方法中的代码 Thread thread1=new Thread(){ @Override public void run() { while(true){ try {

Java多线程(1) 创建

一.线程的生命周期及五种基本状态 关于Java中线程的生命周期,首先看一下以下这张较为经典的图: Java线程具有五中基本状态 新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread(); 就绪状态(Runnable):当调用线程对象的start()方法(t.start();).线程即进入就绪状态.处于就绪状态的线程,仅仅是说明此线程已经做好了准备.随时等待CPU调度运行.并非说运行了t.start()此线程马上就会运行: 执行状态(Runn

JAVA学习第二十三课(多线程(二))- (多线程的创建方式二 :实现Runnable接口(常用))

当一个类有父亲,但是其中的功能还希望实现线程,那么就不能采用继承Thread的方式创建线程 那么就可以通过接口的方式完成 准备扩展Demo类的功能,让其中的内容可以作为线程的任务执行 实现Runnable接口,Runnable接口中只有一个方法run 一.创建线程的第二种方法 Runnable的出现仅仅是将线程的任务进行了对象的封装 /* * 创建线程的第二种方法 * 1.定义类实现Runnable接口 * 2.覆盖接口中的fun方法,将线程的任务代码封装到run方法中 * 3.通过Thread

java多线程3种方式

Java多线程实现方式主要有三种:继承Thread类.实现Runnable接口.使用ExecutorService.Callable.Future实现有返回结果的多线程.其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的. 1.继承Thread类实现多线程继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实例方法.start()方法

多线程的创建方式

一:进程与线程     进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程.(进程是资源分配的最小单位) 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小.(线程是cpu调度的最小单位) 线程和进程一样分为五个阶段:创建.就绪.运行.阻塞.终止. 多进程是指操作系统能同时运行多个任务(程序). 多线程是指在同一程序中有多个顺序流在执行. 2:实现多线程有三种方法:一种是继续Thread类,另外

Java多线程的创建(二)

前言: 虽然java的API中说创建多线程的方式只有两种(There are two ways to create a new thread of execution),分别是继承Thread类创建和实现Runnable接口创建,在上一篇博文中演示了这两种,详见,但是JDK5.0以后新增了两种,分别是实现Callable接口创建和使用线程池创建,本次就演示后两种创建方式并分析其特性. 实现Runnable接口创建多线程 创建步骤: 1.创建一个实现Callable接口的类. 2.重写call()

JAVA单线程以及java多线程的实现方式

1.java单线程的实现 public class SingletonThread { @SuppressWarnings("static-access") public static void main(String[] args) { Thread t =Thread.currentThread(); t.setName("单例线程"); System.out.println(t.getName()+" 正在运行"); for(int i=0

java——多线程的实现方式、两种办法解决线程赛跑

多线程的实现方式:demo1.demo2 demo1:继承Thread类,重写run()方法 package thread_test; public class ThreadDemo1 extends Thread { ThreadDemo1(){ } ThreadDemo1(String szName){ super(szName); } //重载run函数 public void run() { for(int count = 1 , row = 1 ; row < 10 ; row ++

JAVA学习第二十二课(多线程(二))- (多线程的创建方式一 :继承Thread类)

线程是程序中的执行线程.Java 虚拟机允许应用程序并发地运行多个执行线程. 创建新执行线程有两种方法. 一种方法是将类声明为 Thread 的子类.该子类应重写Thread 类的run 方法.另一种方法是声明实现 Runnable 接口的类.该类然后实现run 方法. 创建线程方式一:继承Thread类 一.创建线程的步骤: 1.定义一个类继承Thread类 2.覆盖Thread中的run()方法 3.直接创建Thread类子类的对象 4.调用start方法开启线程,并调用线程的任务run方法

多线程的创建方式---继承Thread和实现Runnable

继承Thread类创建多线程 1 package cn.ftf.thread; 2 /** 3 * 多线程实现方式一 继承Thread实现多线程,继承Thread,重写run方法 4 * @author 房廷飞 5 * 6 */ 7 public class StartThread extends Thread{ //对象继承Thread 8 public static void main(String[] args) { 9 StartThread st=new StartThread();