package unit8;

import java.applet.Applet;
import java.awt.Label;
import java.awt.TextField; public class TestRunnable extends Applet implements Runnable{
Label prompt1 = new Label("The first thread:");
Label prompt2 = new Label ("The second thread:");
TextField threadFirst = new TextField(28);
TextField threadSecond = new TextField(28);
Thread thread1,thread2;
int count1=0,count2=0;
public void init(){
add(prompt1);
add(threadFirst);
add(prompt2);
add(threadSecond);
}
public void start(){
//创建线程对象,具有当前类的run方法,并用字符串指定线程对象的名字
thread1 = new Thread(this,"FirstThread");
thread2 = new Thread(this,"SecondThread");
thread1.start();
thread2.start();
}
public void run(){
String currentRunning;
while(true){
try{
Thread.sleep((int)(Math.random()*3000));
}catch (InterruptedException e) {
// TODO: handle exception
}
currentRunning = Thread.currentThread().getName();
if(currentRunning.equals("FirstThread")){
count1++;
threadFirst.setText("线程1调用次数:"+count1);
}else if(currentRunning.equals("SecondThread")){
count2++;
threadSecond.setText("线程2调用次数:"+count2);
}
}
}
}

通过实现Runnable接口来实现所线程,具体实现run方法,这样当主程序sleep的时候就会执行子线程,这里的子线程都是Thread类的实例对象。

java多线程--实现Runnable接口的更多相关文章

  1. java多线程--实现Runnable接口方式

    因为java类只能继承一个类可以实现多个接口的特性,所以一般情况下不推荐使用继承Thread类实现多线程,下面是实现Runnable接口方式的简单多线程代码 package text; /** * 多 ...

  2. java 多线程:Callable接口;FutureTask类实现对象【Thread、Runnable、Callable三种方式实现多线程的区别】

    Callable接口介绍: Java5开始,Java提供了Callable接口,像是Runnable接口的增强版,Callable接口提供了一个 call()方法可以作为线执行体. call()方法比 ...

  3. java中多线程中Runnable接口和Thread类介绍

    java中的线程时通过调用操作系统底层的线程来实现线程的功能的. 先看如下代码,并写出输出结果. // 请问输出结果是什么? public static void main(String[] args ...

  4. java 多线程--- Thread Runnable Executors

    java 实现多线程的整理: Thread实现多线程的两种方式: (1)继承 Thread类,同时重载 run 方法: class PrimeThread extends Thread { long ...

  5. Java多线程(五) Lock接口,ReentranctLock,ReentrantReadWriteLock

    在JDK5里面,提供了一个Lock接口.该接口通过底层框架的形式为设计更面向对象.可更加细粒度控制线程代码.更灵活控制线程通信提供了基础.实现Lock接口且使用得比较多的是可重入锁(Reentrant ...

  6. 多线程之 Runnable接口

    一.多线程实现的第二种方式 1.定义类,实现Runnable接口 2.重写接口中的run方法,要在run方法中定义线程要执行的任务 public class MyRunnableImpl implem ...

  7. 多线程——实现Runnable接口实现一个多线程

    实现Runnable接口实现一个多线程 Runnable接口源码: package java.lang; //Runnable接口源码只有一个run方法 public interface Runnab ...

  8. 多线程-实现Runnable接口

    当一个任务或者函数多个线程同时调用时仅仅继承Thread是不行的.需要实现Runnable接口. 好处: 1.将线程的任务从线程的子类中分离出来,进行了单独的封装. 按照面向对象的思想将任务封装成对象 ...

  9. Java通过实现Runnable接口来创建线程

    创建一个线程,最简单的方法是创建一个实现Runnable接口的类. 为了实现Runnable,一个类只需要执行一个方法调用run(),声明如下: public void run() 你可以重写该方法, ...

随机推荐

  1. py随笔

    while true,无限循环 str.isdigit判断是不是数字 +只能在两个两个相同的类型之间执行 iter(i)将i加入迭代器

  2. 用Python套接字创建HTTP客户与服务器程序

    最近在学习python,网络编程中,python寥寥几句,就可以创建一个服务端和客户端程序: 服务端: import sockets = socket.socket()host = socket.ge ...

  3. October 3rd 2016 Week 41st Monday

    Better to light one candle than to curse the darkness. 与其诅咒黑暗,不如燃起蜡烛. Sitting in the darkness and wa ...

  4. Apache 的 httpd.conf 详解

    ServerRoot “/usr/local“ ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是 ...

  5. 容器配置jndi Tomcat为例

    context.xml 文件 <Resource name=" password="spsj" type="javax.sql.DataSource&qu ...

  6. eclipse 注释模板

    位置:window -> Preferences -> java -> Code Style -> Code Templates <?xml version=" ...

  7. Swift - 推送之本地推送(UILocalNotification)添加Button的点击事件

    上一篇讲到的本地推送是普通的消息推送,本篇要讲一下带按钮动作的推送消息 import UIKit @UIApplicationMain class AppDelegate: UIResponder, ...

  8. NYOJ题目114某种序列

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAscAAAHuCAIAAAD83zYaAAAgAElEQVR4nO3dP1LjygIv4LcJ5yyE2A

  9. Android单元测试

    安卓单元测试总结文章,目测主要会cover以下的主题: 什么是单元测试 为什么要做单元测试 JUnit Mockito Robolectric Dagger2 一个具体的app例子实践 神秘的bonu ...

  10. monkey测试

    一.理解monkey测试 1.Monkey测试是Android自动化测试的一种手段.Monkey测试本身非常简单,就是模拟用户的按键输入,触摸屏输入,手势输入等,看设备多长时间会出异常. 2.当Mon ...