Thread类,Runnable 接口

Thread

Thread是程序中的执行线程。Java 虚拟机允许应用程序并发地运行多个执行线程。

创建新执行线程的两种方法:

一种方法是将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法。创建对象,开启线程。run方法相当于其他线程的main方法。

另一种方法是声明一个实现 Runnable 接口的类。该类然后实现 run 方法。然后创建Runnable的子类对象,传入到某个线程的构造方法中,开启线程。

继承Thread类

创建线程:

定义一个类继承Thread。

重写run方法。

创建子类对象,就是创建线程对象。

start() 开启线程

getName() 获取线程名称

setName() 修改线程名称

currentThread() 返回当前正在执行的对象

Thread.currentThread().getName();获取当前线程对象的名称

sleep()  在指定毫秒内让当前正在执行的程序休眠(相当于延时)

Runnable 接口

Runnable接口用来指定每个线程要执行的任务。包含了一个 run 的无参数抽象方法,需要由接口实现类重写该方法。

好处:实现Runnable接口避免了单继承的局限性,

步骤:

1、自定义类实现Runnable接口。

2、覆盖接口中的run方法。

3、创建Thread类的对象。

4、将Runnable接口的子类对象作为参数传递给Thread类的构造函数。

5、调用Thread类的start方法开启线程。

//创建线程任务对象

MyRunnable mr=new MyRunnable();//自定义类,实现Runnable接口并重写run方法

//创建线程对象

Thread thread=new Thread(mr);

//开启线程

thread.start();

线程的匿名内部类使用:

 

//创建线程任务对象

Runnable r=new Runnable(){

public void run(){

System.out.println(Thread.currentThread().getName());

}

};

Thread th=new Thread(r);

//开始线程

th.start();

原文地址:https://www.cnblogs.com/hhthtt/p/10632616.html

时间: 2024-07-31 04:32:02

Thread类,Runnable 接口的相关文章

2018-08-25多线程Thread类+Runnable接口+线程的6种状态

多线程: 进程:进程指正在运行的程序:确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能(进入内存运行的程序成为进程)! 线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程!一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序(线程是执行单元,一个进程可以包括多个线程,一个程序可以有多个进程)! 单线程程序:若有多个任务只能依次执行(这个任务执行完毕,下一个任务开始执行)!如:去网吧上网,网吧只能让一

探Java多线程Thread类和Runnable接口之间的联系

首先复习一下Java多线程实现机制,Java实现多线程方法有如下这么几种: 1.继承了(extends)Thread类 2.实现了(implements)Runnable接口 也就是说  有如下两种情况 情况1: 继承Thread类.重写其方法run() .    然后new之.调用Start()方法 1 public class TestThread 2 { 3 private int i; 4 public static void main(String[] args) 5 { 6 // T

Java多线程和并发(三),Thread类和Runnable接口

目录 1.Thread和Runnable接口 三.Thread类和Runnable接口 1.Thread和Runnable接口 原文地址:https://www.cnblogs.com/xzmxddx/p/10362804.html

JAVA线程应用Thread:创建线程的第二种方式:实现Runnable接口

/* 需求:卖票小程序! 思路:实现多个窗口(线程)同时售票. 步骤:1,定义类实现Runnable接口. 2,覆盖Runnable接口中的run方法. 3,通过Thread类创建线程对象. 4,将Runnable接口的子类对象作为实际参数传入Thread类的构造函数当中. 5,调用Thread类的start方法开启线程并调用Runnabke接口的run方法. */ 代码如下 class Ticket implements Runnable//extends Thread//实现Runnable

用Java runnable接口模拟多窗口(线程)销售同类型票的并行程序

参考了此篇博文(http://blog.csdn.net/liutengteng130/article/details/20036517),其中,就使用thread和runnable接口实现售票多窗口模拟问题. 就runnable接口实现方法的特性--多线程无差错修改类公共变量值问题,觉得很有价值,对源代码做了批注,拿来分析下和大家共享: class ThreadTest implements Runnable{ private int ticket =100; //100张票需要销售 publ

Java多线程系列二——Thread类的方法

Thread实现Runnable接口并实现了大量实用的方法 public static native void yield(); 此方法释放CPU,但并不释放已获得的锁,其它就绪的线程将可能得到执行机会,它自己也有可能再次得到执行机会 public static native void sleep(long millis) throws InterruptedException; 此方法释放CPU,但并不释放已获得的锁,其它就绪的线程将得到执行机会,在休眠时间结束后,当前线程继续执行 publi

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

实现多线程的两种方法:继承Thread类或实现Runnable接口

实现多线程的两种方法:继承Thread类或实现Runnable接口 Java中实现多线程有两种方法:继承Thread类和实现Runnable接口,在程序开发中只要是多线程,我们一般都是实现Runnable接口,原因归结为一点:实现接口比继承类要好. 多线程的第一种实现方式:继承Thread类 步骤如下 创建一个继承Thread的类(假定为A),并重写Thread的run方法 构造一个A类对象,假定为aa 调用aa的start方法.(start方法是从Thread继承过来的) 具体例子如下 pac

Java中继承thread类与实现Runnable接口的区别

Java中线程的创建有两种方式: 1.  通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2.  通过实现Runnable接口,实例化Thread类 在实际应用中,我们经常用到多线程,如车站的售票系统,车站的各个售票口相当于各个线程.当我们做这个系统的时候可能会想到两种方式来实现,继承Thread类或实现Runnable接口,现在看一下这两种方式实现的两种结果. Java代码   package com.threadtest; class MyThread e

Java线程示例 - 继承Thread类和实现Runnable接口

进程(Process)和线程(Thread)是程序运行的两个基本单元.Java并发编程更多的是和线程相关. 进程 进程是一个独立的执行单元,可将其视为一个程序或应用.然而,一个程序内部同事还包含多个进程.Java运行时环境就是一个单独的进程,在它内部还包含了作为进程的各种类和程序. 线程 可以将线程看做轻量级的进程.线程存在于进程当中,需要的资源开销较小.同一进程中的线程共享进程的资源. Java多线程 每一个Java引用都只要有一个线程 - 主线程(main thread).虽然后台还运行着许