Java 多线程的两种实现方式

继承Thead

class IphoneThread extends Thread {
    public int iphone = 5;
    public String user;

    public IphoneThread(String str) {
        user = str;
    }

    @Override
    public void run() {
        while (iphone != 0) {
            iphone--;
            System.out.println(user + " get one and left iphone num=" + iphone);
        }
    }
}

public class ThreadTest {
    public static void main(String[] arg) {
        IphoneThread t1 = new IphoneThread("Toms");
        t1.start();
        IphoneThread t2 = new IphoneThread("Jack");
        t2.start();
        IphoneThread t3 = new IphoneThread("Boom");
        t3.start();
    }
}

实现Runnable接口

class IphoneRunable implements Runnable {

    public int iphone = 5;

    @Override
    public void run() {
        while (iphone != 0) {
            iphone--;
            System.out.println(Thread.currentThread().getName()
                    + " get one and left iphone num=" + iphone);
        }

    }

}

public class RunableTest {
    public static void main(String[] arg) {
        IphoneRunable runable = new IphoneRunable();
        Thread t1 = new Thread(runable, "Toms");
        t1.start();
        Thread t2 = new Thread(runable, "Jack");
        t2.start();
        Thread t3 = new Thread(runable, "Boom");
        t3.start();
    }
}
时间: 2025-01-02 01:13:40

Java 多线程的两种实现方式的相关文章

Java多线程的两种实现方式:继承Thread类 & 实现Runable接口

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! 创建和启动线程的两种传统方式: Java提供了线程类Thread来创建多线程的程序.其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象.每个Thread对象描述了一个单独的线程.要产生一个线程,有两种方法: ◆需要从Java.lang.Thread类派生一个新的线程类,重载它的run()方法: ◆实现Runnalbe接口,重载Runnalbe接口中的run()方法.

Java多线程的两种实现方式的区别以及深刻同步问题中的锁对象

首先我们知道创建线程有两种方式: 1.继承Thread类:2.实现Runnable接口. 但是这两这并非完全一样的.下面谈谈区别: 因为Java并不支持多继承的(接口是可以多继承接口的.不过一般我们不提),但支持多实现.当一个类继承了父类,就不能再继承Thread类,只能通过实现接口的形式创建线程. 继承Runnable接口更加符合面向对象的思想.线程分为两部分,一是线程对象,二是线程任务.继承Thread类,线程对象和线程任务(run方法内的代码)耦合在一起.一旦创建了Thread类的子类对象

【Java多线程】两种基本实现框架

Java多线程学习1——两种基本实现框架 一.前言 当一个Java程序启动的时候,一个线程就立刻启动,改程序通常也被我们称作程序的主线程.其他所有的子线程都是由主线程产生的.主线程是程序开始就执行的,并且程序最终是以主线程的结束而结束的. Java编写程序都运行在在Java虚拟机(JVM)中,在JVM的内部,程序的多任务是通过线程来实现的.每用Java命令启动一个Java应用程序,就会启动一个JVM进程.在同一个JVM进程中,有且只有一个进程,就是它自己.在这个JVM环境中,所有程序代码的运行都

JavaLearning:多线程的两种实现方式

第一种 继承Thread类 package org.fan.threaddemo; public class MyThread extends Thread{ private String name; public MyThread(String name){ this.name=name; } public void run(){//覆写run()方法 for(int i=0;i<30;i++){ System.out.println("Thread运行:"+this.name

java基础——多线程的两种实现方式

第一种实现方式:继承Thread类,并实现run方法,这种情况下每个线程对象都有一个独立的run方法 package thread; /* @author zsben @create 2020-01-03 9:52 多线程创建的第一种方法:继承于Thread类 1.创建一个继承于Thread的类 2.重写Thread类的run方法-->将此线程执行的操作声明在run中 3.创建Thread子类对象 4.通过此对象调用start方法:启动当前线程,调用当前线程的run方法 */ //1.创建一个继

多线程的两种实现方式

java中多线程可以采用两种方式实现,分别是继承Thread类重写run方法和实现Runnable接口重写run方法. 继承Thread类重写run方法举例如下: /* 需求:在主线程之外继承Thread类创建两独立线程,分别打印1至50. */ class ThreadTest extends Thread{ public void run(){ for(int i = 1; i <= 50; i++) System.out.println(Thread.currentThread().get

Java学习(九):Java线程的两种实现方式

线程是程序中一个单一的顺序控制流程.进程内一个相对独立的.可调度的执行单元,是系统独立调度和分派CPU的基本单位指运行中的程序的调度单位.在单个程序中同时运行多个线程完成不同的工作,称为多线程. 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础. Java线程创建的两种方式: 1.继承Thread类 public class MyThread extends Thread { private String name;

java多线程的3种实现方式

多线程相关的问题 1.什么是进程? ? 正在执行的程序 2.什么是线程? ? 进程的子单位,一个能够完成独立功能的执行路径 3.为什么需要开启多线程? 当执行某些耗时操作的任务的时候需要开启多线程,防止线程阻塞 能够让两个任务看起来像是在同时执行 提高CPU的使用率,进而提高进程和内存的使用率 4.为什么开启多线程会同时执行? ? 因为CPU切换执行的速度太快了,肉眼无法差距 5.开启多线程是不是越多越好,提高了效率还是降低了效率? ? 不是,线程越多,效率越慢,但是太少,浪费CPU资源,所以,

关于多线程的两种创建方式的用法和选择

本文分别说明的继承Thread类和Runnable接口的两种方式.仅为个人见解,如有不妥还清指出. 先说一下并发和并行, 并行:多个任务可以同时做,常用与任务之间比较独立,互不影响.相当于很多人做很多件事(例学校篮球场,很多学生在不同的场地打球) 并发:相当于很多人在一个篮球场打球,只能轮着上因为只有一片场地. 首先第一种是继承Thread类的方法 直接上代码,实现的是火车票卖票的问题 class Windows extends Thread{ private static int ticket