实现多线程的两种方式
2015-08-16 21:24
337 查看
java中有两种实现线程的方法:
1.以继承Thread类方式实现的线程类,该子类应重写 Thread 类的 run 方法。接下来可以分配并启动该子类的实例。
2.以实现Runnable接口实现的线程类,该类然后实现 run 方法。然后可以分配该类的实例,在创建 Thread 时作为一个参数来传递并启动。
一般来说两种方法都可以实现多线程,但是因为java只能单继承。如方式1,一旦继承Thread类以后,就不能再继承其他类,所以一般情况下大家都选择一实现Runnable接口方式来实现多线程。
1.以继承Thread类方式实现的线程类,该子类应重写 Thread 类的 run 方法。接下来可以分配并启动该子类的实例。
2.以实现Runnable接口实现的线程类,该类然后实现 run 方法。然后可以分配该类的实例,在创建 Thread 时作为一个参数来传递并启动。
一般来说两种方法都可以实现多线程,但是因为java只能单继承。如方式1,一旦继承Thread类以后,就不能再继承其他类,所以一般情况下大家都选择一实现Runnable接口方式来实现多线程。
public class Test1 { public static void main(String[] args) { new MyThread().start(); new Thread(new MyThread1()).start(); for (int i = 0; i < 100; i++) { System.out.println("----------main---------" + i); } } } /** * 以继承Thread类方式实现的线程类 * @author ligy * */ class MyThread extends Thread { @Override public void run() { for (int i = 0; i < 100; i++) { System.out.println("---------MyThread--------" + i); } } } /** * 以实现Runnable接口实现的线程类 * @author ligy * */ class MyThread1 implements Runnable { @Override public void run() { for (int i = 0; i < 100; i++) { System.out.println("---------MyThread1--------" + i); } } }
相关文章推荐
- gdb之初识
- 【C/C++学院】0828-数组与指针/内存分配/数据结构数组接口与封装
- CSS Alignment:元素对齐问题
- Android视图绘制流程完全解析,带你一步步深入了解View(二)
- MFC修改菜单
- 【JavaScript】AJax
- 102 Binary Tree Level Order Traversal
- POJ2007--Scrambled Polygon
- c++从零开始学起(关于迭代器的使用)
- hdu 4983 Goffi and GCD(欧拉函数)
- NOIP2010 引水入城
- 求最小的k个数
- 倒排索引
- 8.15总结
- Javascript 基础
- 使用Java快速实现进度条(转)
- Javascript 基础
- leetcode 128: Longest Consecutive Sequence
- Connection reset by peer问题分析
- nyoj448 寻找最大数