线程1—Runnable

随便选择两个城市作为预选旅游目标。实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内),哪个先显示完毕,就决定去哪个城市。分别用Runnable接口和Thread类实现。

 1 import java.util.*;
 2
 3 public class Ly_Runnable implements Runnable {
 4     public void run() {
 5         test();
 6     }
 7
 8     public void test() {
 9         Random r = new Random();
10         try {
11             for (int i = 1; i <= 10; i++) {
12                 int a = r.nextInt(1000);
13                 Thread.sleep(a);
14                 System.out.print(a + "秒后去");
15                 System.out.println(Thread.currentThread().getName());
16             }
17         } catch (Exception e) {
18             e.printStackTrace();
19         }
20     }
21
22     public static void main(String[] args) {
23         Thread tr1 = new Thread(new Ly_Runnable());
24         tr1.setName("淄博");
25         tr1.start();
26
27         Thread tr2 = new Thread(new Ly_Runnable());
28         tr2.setName("青岛");
29         tr2.start();
30     }
31 }

运行:

时间: 2024-10-11 17:24:18

线程1—Runnable的相关文章

多线程1-创建线程-Thread&amp;Runnable

大纲: Thread创建线程. Runnable创建线程. 小结. 一.java创建线程--继承Thead类 创建一个类继承Thead类,并重写run方法. class Test { public static void main(String[] args) { System.out.println("当前线程:"+Thread.currentThread()); new TestThread().start(); new TestThread().start(); } static

java 线程 --- Thread,Runnable,Callable 基础学习

java 使用 Thread 类代表线程,所有现场对象都必须是 Thread 类或者其子类的实例.每个线程的作用是完成一定的任务,实际上就是执行一段程序流.java 使用线程执行体来代表这段程序流. 1.继承Thread 类创建线程 启动多线程的步骤如下: (1)定义Thread 类的子类,并重写该类的run() 方法,该run() 方法的方法体就代表类线程需要完成的任务.因此把run() 方法称为线程执行体. (2)创建 Thread 子类的实例,即创建线程对象. (3)调用线程的star()

java线程系列---Runnable和Thread的区别

本文转载于:http://blog.csdn.net/wwww1988600/article/details/7309070 在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口:Thread类是在java.lang包中定义的.一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限, 下面看例子: 1 package org.thread.demo; 2 class MyThrea

java线程系列---Runnable和Thread的区别 (转载)

转自:http://blog.csdn.net/wwww1988600/article/details/7309070 在java中可有两种方式实现多线程,一种是继承 Thread类,一种是实现Runnable接口:Thread类是在java.lang包中定义的.一个类只要继承了Thread类同时覆写了本类中的 run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限, 下面看例子: package org.thread.demo; class MyThread ext

线程实现Runnable接口比继承Thread的优势

1.适合多个相同程序代码的线程去处理同一资源,把虚拟CPU(线程)同程序的代码.数据有效分离,较好地体现了面向对象的设计思想.2.可以避免由于java单继承特性带来的局限.3.增强了程序的健壮性,代码能够被多个线程共享,代码与数据是独立的.当多个线程的执行代码来自同一个类的实例时,继承它们共享相同的代码.多个线程可以操作相同的数据,与他们的代码无关当共享访问相同的对象时即共享相同的数据.当线程被构造时,需要的代码和数据通过一个对象作为构造函数实参传递进去,这个对象就是一个实现了Runnable接

线程作业-Runnable

// 随便选择两个城市作为预选旅游目标. 西藏 云南//实现两个独立的线程分别显示10次城市名,每次显示后休眠一段随机时间(1000ms以内),//哪个先显示完毕,就决定去哪个城市.//分别用Runnable接口和Thread类实现. package com.hanqi.xc; public class HomeworkRunnable { public static void main(String[] args) { // TODO 自动生成的方法存根 TravelR tr=new Trav

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

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

【转】java线程系列---Runnable和Thread的区别

在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口:Thread类是在java.lang包中定义的.一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限, 下面看例子: package org.thread.demo; class MyThread extends Thread{ private String name; public MyThread(String name)

002-多线程实现方式【thread、runnable、callale、thread和runnable对比】

一.概述 1.实现方式 在java中对于多线程实现一定要有一个线程的主类,而这个线程的主类往往是需要操作一些资源,但是对于多线程主类的实现是: 继承Thread父类 从java的Thread类继承实现多线程,也是实现其run方法,然后声明实例,并调用实例的start方法启动线程. 实现Runnable接口(Callable接口) 使用Runnable接口实现多线程需要两个步骤,首先实现Runnable接口类,然后声明Thread实例,调用thread实例的start方法,开始执行. 2.java