实现Runnable接口创建多线程及其优势

实现Runnable接口创建多线程:

创建一个Runnable接口的实现类RunnableImpl:

主线程中:

其中,链式编程的Thread类的静态方法currentThread方法点getName是获取的是当前线程的名称;

运行结果:

线程抢占cpu资源是随机的,无法人为控制;

实现Runnable接口创建多线程的优势:

避免单继承,可以实现其他接口;

降低耦合性,增强程序扩展性;

如在创建一个Runnable接口的实现类RunnableImpl2:

即创建一个新的run方法创建了一个新的线程任务;

主线程中只需要传入新的实现类就可以开启新的线程:

运行结果:

原文地址:https://www.cnblogs.com/wmqiang/p/10664397.html

时间: 2024-11-11 19:08:49

实现Runnable接口创建多线程及其优势的相关文章

Java多线程:实现Runnable接口创建线程方式详解

先看例子: /**实现Runnable接口创建线程步骤: * 1.创建一个实现Runnable接口的类 * 2.重写Runnable类中抽象的run()方法 * 3.创建实现类的对象 * 4.声明Thread类,同时将实现类对象作为参数传递 * 5.用Thread类的对象调用start() */ //例子:多线程售票(暂未安全同步) class MyThread implements Runnable{ private int num = 100; public void run(){ whil

Java总结(十)—实现Runnable接口创建线程,线程安全同步,死锁(哲学家进餐问题),读写锁

一.通过实现Runnable接口创建线程 定义实现Runnable接口的类 (1)Runnable接口中只有一个方法public void run();用来定义线程运行体: class MyRun implements Runnable(){ public void run(){ 线程执行的具体代码 } } (2)创建线程的实例的时候将这个类的实例作为参数传递到线程实例内部.然后再启动: Thread thread=new Thread(new MyRun()); Thread.start();

Java通过继承thread类与实现Runnable接口实现多线程的区别

Java中线程的创建有两种方式: 1.  通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2.  通过实现Runnable接口,实例化Thread类 一.通过继承Thread类实现多线程 class MyThread extends Thread{ String name = null; int ticket = 0; public MyThread(String name){ this.name = name; } public synchronized v

好记性不如烂笔头74-多线程-实现Runnable接口的多线程

通过继承class Thread或实现Runnable接口,我们都可以实现多线程.如果有一个类,它已继承了某个类,又想实现多线程,那就可以通过实现Runnable接口来实现. run()函数必须进行覆写,把要在多个线程中并行处理的代码放到这个函数中. 把一个实现了Runnable接口的对象作为参数产生一个Thread对象,再调用Thread对象的start()函数就可执行并行操作. 例如: EasyRunnableThread thread2 = new EasyRunnableThread()

java中利用继承类和Runnable接口实现多线程的区别

利用继承Thread类实现的多线程无法资源共享 如下程序 class MyThread extends Thread{ public MyThread(String name){ super(); this.name=name; } public void run(){ while(tickets==0?false:true) { tickets--; System.out.println(name+" just selt one ticket,only "+tickets+"

Thread类和Runnable接口实现多线程--2019-4-18

1.通过Thread实现 public class TestThread extends Thread{ public TestThread(String name) { super(name); } public void run() { for(int i = 0;i<5;i++){ for(long k= 0; k <100000000;k++); System.out.println(this.getName()+" :"+i); } } public static

java 第55节 实现Runnable接口创建线程

2016-07-01 package com.java1995; public class RunnableDemo { public static void main(String[] args) { MyThread mt=new MyThread(); Thread t=new Thread(mt); t.start(); for(int i=0;i<10;i++){ try { Thread.sleep(100); } catch (InterruptedException e) { /

创建线程的第二种方式------实现Runnable接口的方式

package cn.itcast.demo16.Demo07.Runnable; /** * @author newcityman * @date 2019/7/22 - 23:17 */public class RunnableImpl implements Runnable { @Override public void run() { for (int i = 0; i <20 ; i++) { System.out.println(Thread.currentThread().getN

多线程之实现Runnable接口及其优点

多线程之实现Runnable接口: 1.创建一个Runnable接口的实现类 2.在实现类中重写Runnable接口的run方法 3.创建一个Runnable接口实现类的对象 4.创建Thread类对象,构造方法中传参为:Runnable接口实现类的对象 5.调用Thread类中的start方法,启动多线程 打印结果(并发): 实现Runnable接口创建多线程与继承Thread类相比优点是: 1.避免了继承Thread类的单继承的局限性.[类只能单继承,类继承了Thread类就不能继承其他的类