多线程
2015-11-30 11:08
183 查看
Java的多线程实现:
在Java中实现多线程有以下两种方式:
A 继承 Thread 类
B 实现 Runnable 接口
线程操作类格式
如果要启动线程,则肯定依靠Thread类,但是之前如果直接继承了Thread类,则可以直接使用start()方法,但是在Runnable接口中没有此方法。
Thread类的构造
使用下面方法启动多线程
在Java中实现多线程有以下两种方式:
A 继承 Thread 类
B 实现 Runnable 接口
一 , 继承 Thread 类
Thread类实在java.lang包中定义的。一个类只要继承了Thread类,就称为多线程操作类,在Thread的子类中,必须明确的覆写Thread类中的run()方法,此方法为线程的主体。线程操作类格式
class MyThread extends Thread //定义类继承Thread类 作为线程的实现类 { private String name ; // 定义属性 表示线程名称 public MyThread(String name) //构造方法 { this.setName(name) ; //为属性赋值 } public void run() //覆写run()方法,作为线程 操作主体 { for(int i=0;i<10;i++) { System.out.println(name + "i = " + i) ; } } }
class MyThreadDemo01 extends Thread //定义类继承Thread类 作为线程的实现类 { private String name ; // 定义属性 表示线程名称 pubcli MyThreadDemo01 //构造方法 { this.setName(name) ; //为属性赋值 } public void run() //覆写run()方法,作为线程 操作主体 { for(int i=0;i<10;i++) { System.out.println(name + "i = " + i) ; } } }
二 实现Runnable接口
在Java中也可以通过实现Runnable接口来实现多线程,Runnable接口中只定义了一个抽象方法public void run() ; //抽象方法
class MyThread implements Runnable //定义类实现Runnable接口 作为线程的实现类 { private String name ; // 定义属性 表示线程名称 public MyThread(String name) //构造方法 { this.name = name ; //为属性赋值 } public void run() //覆写run()方法,作为线程 操作主体 { for(int i=0;i<10;i++) { System.out.println(name + "i = " + i) ; } } }
如果要启动线程,则肯定依靠Thread类,但是之前如果直接继承了Thread类,则可以直接使用start()方法,但是在Runnable接口中没有此方法。
Thread类的构造
使用下面方法启动多线程
public Thread(Runnable target)
class MyThread implements Runnable //定义类实现Runnable接口 作为线程的实现类 { private String name ; // 定义属性 表示线程名称 public MyThread(String name) //构造方法 { this.name = name ; //为属性赋值 } public void run() //覆写run()方法,作为线程 操作主体 { for(int i=0;i<10;i++) { System.out.println(name + "i = " + i) ; } } }
public class RunnableDemo01
{
public static void main(String[] args)
{
MyThread mt1 = new MyThread("IronMan") ; //实例化对象
MyThread mt2 = new MyThread("SpiderMan") ; //实例化对象
Thread t1 = new Thread(mt1) ; //实例化Thread类对象
Thread t2 = new Thread(mt2) ; //实例化Thread类对象
t1.start() ; //调用线程操作主体
t2.start() ; //调用线程操作主体
}
}
三 Thread类和Runnable接口的区别
使用Thread类在操作多线程的时候,无法实现资源共享的目的,而使用Runnable接口的时候可以实现资源共享。相关文章推荐
- VTK基础学习教程
- 黑马程序员——OC学习——基础语法一
- Java 连oracle 12C 起步
- 12个互联网大脑计划重点探索方向,互联网大脑计划系列6
- TortoiseSVN客户端重新设置用户名和密码
- H3C模拟器
- SQLite数据类型详解
- SQLite数据类型详解
- ATL入门之配置ATL环境
- Java抽象类与接口的区别
- Spring学习笔记(十一):关于微信开发时,用户名包含表情,保存到数据库出错的解决办法
- java 根据图片地址获取到图片的大小,单位kb或者Mb
- 用vsprintf 实现LCD格式化输出
- ListView
- Unity3d学习10
- 还在比较 JSON 和 XML?Stop!
- JSP中文乱码问题终极解决方案
- Panel( 面板) 组件 上
- 光纤网卡、HBA卡和RAID卡的区别
- IOS学习之 网络编程(3)--数据安全