黑马程序员Java类之异常与线程(Thread)

原创 2012年03月29日 11:23:14

---------------------- android培训java培训、期待与您交流! ----------------------

 基本要点

1、线程实现的两种方式:一种是继续Thread类,另外一种是实现Runable接口。

2、设计模式:在Thread中实现多线程时也是调用run方法,这个是代理模式。

3、进程线程区别:进程是正在执行的程序,是现代操作系统的基石;线程基石进程中的独立控制单元,进程中至少有一个线程,Java VM 启动的时候会有一个进程java.exe。该进程中至少一个线程负责java程序的执行。而且这个线程运行的代码存在于main方法中。该线程称之为主线程。

 

 下面看一个继承Thread的例子

 

package horse;
/**这是一个继承Thread类
 * 被Testthread实现
 */
public class thread extends Thread {
	private String name;
	public thread(){}
	public thread(String){
		this.name = name;
	}
	//重写run()方法
	public void run(){
		for(int i=1;i<30;i++)
			System.out.println(name+"运行"+i);
	}
}

Thread的测试类

package horse;
/**这是一个测试thread的类
 * @param args
 */
public class Testthread {	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		thread t1 = new thread("asdf"); 
		thread t2 = new thread("zxcv");
		//这里启动线程掉用户start()方法,但实际还是run()
		t1.start();
		t2.start();
	}
}

这个是实现Runnable的例子

package horse;
/**这是实现Runnable的类
 */
public class Rthread implements Runnable{
	private String name;
	public Rthread(){}
	public Rthread(String name){
		this.name = name;
	}
	//重写run()方法
	public void run(){
		for(int i=1;i<10;i++)
			System.out.println(name+"运行"+i);
	}
}
package horse;
/**这是一个测试现实接口Runnble的类
 * @param args
 */
public class TestRunnble {	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Rthread r1 = new Rthread("线程r1");
		Rthread r2 = new Rthread("线程r2");
		Thread t1 = new Thread(r1);
		Thread t2 = new Thread(r2);
		t1.start();
		t2.start();
	}
}


总结:

名称

实现接口

继承父类

特点

避免单继承的局限性,适合多个相同程序代码的线程处理同义资源

java中一个子类只能继承一个父类不具备扩展

区别

代码置于接口子类的run()中,利于资源共享,代码和数据独立

线程代码在Thread子类的run()中

 ---------------------- android培训java培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net/heima

相关文章推荐

黑马程序员---java基础之异常,线程,String与相关类

黑马程序员---java基础之异常,线程,String与相关类                                        ------- android培训、java培训、期待...

黑马程序员_笔记_多线程(创建线程-继承Thread类)

进程:是一个正在执行中的程序。 每一个进程执行都有一个执行顺序。该顺序是一个执行路径,或者叫一个控制单元。 线程:就是进程中的一个独立的控制单元。 线程在控制着进程的执行。 一个进程中至少有一...

黑马程序员-线程Thread类和Runnable接口

--------------------------Android培训                   Java培训 期待与您的交流!------------------------- /* ...

黑马程序员--Java多线程的两种实现方式:继承Thread类 & 实现Runable接口

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 创建和启动线程的两种传统方式: Java提供了线程类Thread来创建多线程的程序...

黑马程序员_<<线程,Thread>>

--------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! -------------------- 1.进程        1.概述:...

黑马程序员——Thread.interrupt()清除线程冻结状态

----------------------    android培训    java培训   期待与您交流!    ----------------------                ...

黑马程序员——线程Thread二(线程安全)

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 在前一篇的文章中,介绍了实现线程的两个方法,一个是继承Thread类,一个是实现Runable方法,而且比较了...

黑马程序员——Thread线程的使用

------- android培训、java培训、期待与您交流! ----------

黑马程序员_java的继承性- 继承-final关键字-抽象类-接口-多态-异常-包-多线程-

---------------------------------------------------android培训、java培训、期待与您交流!---- --------------------...

黑马程序员——线程Thread一(线程创建)

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——- 线程在java语言中是很重要的东西,我们需要牢固掌握好,线程在后期的应用是非常多的。线程的应用提高了程...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员Java类之异常与线程(Thread)
举报原因:
原因补充:

(最多只允许输入30个字)