Java:使用匿名内部类在方法内部定义并启动线程
2015-04-12 18:06
633 查看
Java:使用匿名内部类在方法内部定义并启动线程
2008-04-06 11:42:38
标签:Java 线程 休闲 匿名内部类 职场
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。/article/4381729.html
下面的代码展示了在一个方法中,通过匿名内部类定义一个Thread,并Override它的run()方法,之后直接启动该线程。
这样的代码可用于在一个类内部通过另起线程来执行一个支线任务,一般这样的任务并不是该类的主要设计内容。
[align=left]package com.zj.concurrency;[/align] [align=left] [/align] [align=left]public class StartFromMethod {[/align] [align=left] private Thread t;[/align] [align=left] private int number;[/align] [align=left] private int count = 1;[/align] [align=left] [/align] [align=left] public StartFromMethod(int number) {[/align] [align=left] this.number = number;[/align] [align=left] }[/align] [align=left] [/align] [align=left] public void runTask() {[/align] [align=left] if (t == null) {[/align] [align=left] t = new Thread() {[/align] [align=left] public void run() {[/align] [align=left] while (true) {[/align] [align=left] System.out.println("Thread-" + number + " run " +count[/align] [align=left] + " time(s)");[/align] [align=left] if (++count == 3)[/align] [align=left] return;[/align] [align=left] }[/align] [align=left] }[/align] [align=left] };[/align] [align=left] t.start();[/align] [align=left] }[/align] [align=left] }[/align] [align=left] [/align] [align=left] public static void main(String[] args) {[/align] [align=left] for (int i = 0; i < 5; i++)[/align] [align=left] new StartFromMethod(i).runTask();[/align] [align=left] }[/align] [align=left]}[/align] |
[align=left]Thread-0 run 1 time(s)[/align]
[align=left]Thread-0 run 2 time(s)[/align]
[align=left]Thread-1 run 1 time(s)[/align]
[align=left]Thread-1 run 2 time(s)[/align]
[align=left]Thread-2 run 1 time(s)[/align]
[align=left]Thread-2 run 2 time(s)[/align]
[align=left]Thread-3 run 1 time(s)[/align]
[align=left]Thread-3 run 2 time(s)[/align]
[align=left]Thread-4 run 1 time(s)[/align]
Thread-4 run 2 time(s)
本文出自 “子 孑” 博客,请务必保留此出处/article/4381729.html
相关文章推荐
- Java:使用匿名内部类在方法内部定义并启动线程
- Java:使用匿名内部类在方法内部定义并启动线程
- Java:使用匿名内部类在方法内部定义并启动线程
- JAVA线程的定义和使用方法
- java学习——线程启动的两种方法,Time定时器,synchronized 的使用
- 一个方法最多2个线程同时使用的JAVA实现
- Java中有几种方法实现一个线程,用什么关键字修饰同步方法?stop()和suspend()方法为何不提倡使用?
- java线程之使用Runnable接口创建线程的方法
- JavaWeb 项目启动时,后台开启一个线程的方法
- Java 有几程方法可以实现一个线程?用什么关键字修饰同步?stop()和suspend()为什么不推荐使用?
- Java代码优化--尽可能地使用stack(栈)变量(方法内部的局部变量)
- thinkinjava21.4.4----java中interrupt和interrupted方法的使用和线程退出的时机
- JAVA数组的定义及使用方法
- JAVA数组的定义及使用方法
- 对Java方法内部使用this访问成员变量的深入理解
- java内部窗体internalFrame的使用方法
- java基础问题---java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用
- java开发线程篇1:java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?
- JAVA数组的定义和使用方法实例
- java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?