创建线程的两种传统方式
来源:互联网 发布:韩国美颜软件 编辑:程序博客网 时间:2024/05/04 09:22
线程创建
创建新执行线程有两种方法。一种方法是将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法。接下来可以分配并启动该子类的实例。例如,计算大于某一规定值的质数的线程可以写成:
class PrimeThread extends Thread { long minPrime; PrimeThread(long minPrime) { this.minPrime = minPrime; } public void run() { // compute primes larger than minPrime . . . } }
然后,下列代码会创建并启动一个线程:
PrimeThread p = new PrimeThread(143); p.start();
创建线程的另一种方法是声明实现 Runnable 接口的类。该类然后实现 run 方法。然后可以分配该类的实例,在创建 Thread 时作为一个参数来传递并启动。采用这种风格的同一个例子如下所示:
class PrimeRun implements Runnable { long minPrime; PrimeRun(long minPrime) { this.minPrime = minPrime; } public void run() { // compute primes larger than minPrime . . . } }
然后,下列代码会创建并启动一个线程:
PrimeRun p = new PrimeRun(143); new Thread(p).start();
代码测试
类 Thread
新建类PrimeThread
class PrimeThread extends Thread { long minPrime; PrimeThread(long minPrime) { this.minPrime = minPrime; } // 重写run方法 public void run() { for (int i = 0; i < 5; i++) { System.out.println("编号:" + minPrime + "。第" + i + "次执行"); } }}
Main方法创建并启动一个线程
public class TestThread { public static void main(String[] args) { //创建线程1 PrimeThread pThread = new PrimeThread(1); //创建线程2 PrimeThread pThread2 = new PrimeThread(2); //启动 pThread.start(); pThread2.start(); }}
运行结果
Runnable 接口
新建类PrimeThread,实现Runnable 接口
class PrimeThread implements Runnable { long minPrime; PrimeThread(long minPrime) { this.minPrime = minPrime; } // 实现run方法 public void run() { for (int i = 0; i < 5; i++) { System.out.println("编号:" + minPrime + "。第" + i + "次执行"); } }}
Main方法创建并启动一个线程
public class TestThread { public static void main(String[] args) { //创建线程1 PrimeThread pThread = new PrimeThread(1); //创建线程2 PrimeThread pThread2 = new PrimeThread(2); //通过Thread启动线程 Thread thread = new Thread(pThread); Thread thread2 = new Thread(pThread2); //启动 thread.start(); thread2.start(); }}
运行结果
PS:建议多使用Runnable 方式
阅读全文
0 0
- 传统创建线程的两种方式
- 创建线程的两种传统方式
- 创建线程的两种传统方式
- 传统创建线程的两种方式
- 创建线程的两种传统方式
- 传统的创建线程的两种方式
- java创建线程的两种传统方式
- java多线程之创建线程的两种传统方式
- java多线程01:创建线程的两种传统方式
- 关于java传统线程的两种创建方式讲解
- 【java并发】传统线程技术中创建线程的两种方式
- 创建传统线程的方式
- 1.传统创建线程的方式
- 创建线程两种方式的比较
- java 创建线程 的两种方式
- 创建线程两种方式的比较
- 创建线程的两种方式
- 创建线程的两种方式
- vs2013提示需要加_s才能编译的解决办法
- Markdown 语法说明 (简体中文版)
- 子程序返回的三种方法
- Android 各类生命周期详解
- 基于邻接矩阵的广度优先遍历
- 创建线程的两种传统方式
- 最小生成树MST(Prim/Kruskal模版)
- Makefile工程管理语法与使用技巧
- java正则表达式
- LightOJ-1314 Aladdin and the Flying Carpet
- pipe函数内核实现
- 表格冻结首列及左起指定列数(CongelarFilaColumna插件的使用)
- 一. 流式处理简介
- b reset 和 ldr pc ,reset 的区别?