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+",i="+i);
    	}
    }
}
//=================
package org.fan.threaddemo;

public class ThreadDemo01 {

	public static void main(String[] args) {
        MyThread mt1=new MyThread("线程A");
        MyThread mt2=new MyThread("线程B");
        mt1.run();
        mt2.run();
	}
}
//================
package org.fan.threaddemo;

public class ThreadDemo02 {

	public static void main(String[] args) {
        MyThread mt1=new MyThread("线程A");
        MyThread mt2=new MyThread("线程B");
        mt1.start();
        mt2.start();
	}
}

第二种 实现Runnable接口

package org.fan.runnabledemo;

public class MyThread implements Runnable{
    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+",i="+i);
    	}
    }
}
//===================
package org.fan.runnabledemo;

public class RunnableDemo01 {

	public static void main(String[] args) {
        MyThread mt1=new MyThread("线程A");
        MyThread mt2=new MyThread("线程B");
        new Thread(mt1).start();
        new Thread(mt2).start();
	}
}

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

时间: 2024-10-10 23:12:13

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

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

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

多线程的两种实现方式

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多线程的两种实现方式的区别以及深刻同步问题中的锁对象

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

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.创建一个继

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

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

java中多线程的两种创建方式

一丶继承Thread类实现多线程 第一步:继承Thread类第二步:重写run()方法第三步:创建继承了Thread类的对象 , 调用start()方法启动. //线程创建方式一 : /* 第一步:继承Thread类 第二步:重写run()方法 第三步:创建继承了Thread类的对象 , 调用start()方法启动. */ public class TestThread extends Thread{ @Override public void run() { for (int i = 0; i

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 n

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

多线程的两种创建方式: 下面这些东西是API文档中的: public class Thread extends Object implements Runnable 线程 是程序中的执行线程.Java 虚拟机允许应用程序并发地运行多个执行线程. 每个线程都有一个优先级,高优先级线程的执行优先于低优先级线程.每个线程都可以或不可以标记为一个守护程序.当某个线程中运行的代码创建一个新 Thread 对象时,该新线程的初始优先级被设定为创建线程的优先级,并且当且仅当创建线程是守护线程时,新线程才是守护

Java实现多线程的两种方式

实现多线程的两种方式: 方式1: 继承Thread类 A: 自定义MyThread类继承Thread类 B: 在MyThread类中重写run() C: 创建MyThread类的对象 D: 启动线程对象. 问题: a. 为什么要重写run方法? run()方法里封装的是被线程执行的代码 b. 启动线程对象用的是哪个方法? start()方法 c. run()和start()方法的区别? 直接调用run方法只是普通的方法调用 调用start方法先会启动线程,再由jvm调用run()方法 方式2: