700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Java多线程:实现方式Thread与Runnable

Java多线程:实现方式Thread与Runnable

时间:2020-08-19 00:13:03

相关推荐

Java多线程:实现方式Thread与Runnable

转载自Java多线程:实现方式

在Java中, 多线程的实现有两种方式:

扩展java.lang.Thread类

实现java.lang.Runnable接口

方法1

/** * @Description: 继承Thread类, 实现多线程. * @author snoopy * @blog /huang_xw */ package basic.a_start; import org.apache.log4j.Logger; public class TestThread extends Thread { private static Logger logger = Logger.getLogger(TestThread.class); public static void main(String[] args) { TestThread test = new TestThread(); logger.debug("在Main线程中启动线程!"); test.start(); } public void run() { logger.debug("在线程中运行!"); } }

方法2

/** * @Description: 测试Runnable类实现的多线程程序 * @author snoopy * @blog /huang_xw */ package basic.a_start; import org.apache.log4j.Logger; public class TestRunnable { private static Logger logger = Logger.getLogger(TestRunnable.class); public static void main(String[] args) { // 1. 将任务处理代码移到实现了Runnable接口的类的run方法中。 // 2. 创建任务类的一个对象 // 3. 由Runnable创建Thread对象 // 4. 启动线程 ImpRunnable r1 = new ImpRunnable(); ImpRunnable r2 = new ImpRunnable(); // 给线程命名有两种方式 // 1.虚拟机命名 2.用Thread类的构造方法 Thread t1 = new Thread(r1, "线程1"); Thread t2 = new Thread(r2, "线程2"); t1.start(); t2.start(); } } class ImpRunnable implements Runnable { private static Logger logger = Logger.getLogger(ImpRunnable.class); // 当线程目标run()方法结束时该线程完成。 public void run() { for (int i = 0; i < 10; i++) { // for循环用来模拟一个耗时的操作 for (long k = 0; k < 100000000; k++) ; // 获取当前线程的对象的方法是: Thread.currentThread() logger.debug(Thread.currentThread().getName() + " 运行" + ": 第" + i + "次"); } } }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。