首页 > 代码库 > Java多线程系列-线程创建
Java多线程系列-线程创建
1.怎样创建多线程?
Java从语言级别实现多线程,因此实现一个多线程程序很easy。有两种方法能够实现多线程,即继承Thread类和实现Runnable接口。由于Java不支持多继承的原因,建议尽可能通过实现Runnable接口实现多线程。
使用Runnable接口实现多线程有例如以下长处:
1、能够避免由于Java的单继承特性而带来的局限。
2、增强程序的健壮性。代码能够被多个线程共享。代码与数据是独立的;
3、适合多个同样程序代码的线程区处理同一资源的情况。
两者之间的不同:
*Thread也实现了Runnable接口,因此继承自Thread类的子类也实现了Runnable接口
*继承Thread类实现多线程,每个线程都独占run方法中的代码,而实现Runnable接口实现的多线程共同拥有run方法中的数据和代码。
*继承Thread类实现多线程,由于独占代码全部不会有线程安全的问题。Runnable接口实现的多线程是不安全的。
以多个窗体销售车票的情况为样例。样例和代码引自:http://blog.csdn.net/ns_code/article/details/17161237
以继承Thread类实现多线程的代码:
class MyThread extends Thread{
private int ticket = 5;
public void run(){
for (int i=0;i<10;i++)
{
if(ticket > 0){
System.out.println("ticket = " + ticket--);
}
}
}
}
public class ThreadDemo{
public static void main(String[] args){
new MyThread().start();
new MyThread().start();
new MyThread().start();
}
}
以实现Runnable接口实现多线程的代码为:
class MyThread implements Runnable{
private int ticket = 5;
public void run(){
for (int i=0;i<10;i++)
{
if(ticket > 0){
System.out.println("ticket = " + ticket--);
}
}
}
}
public class RunnableDemo{
public static void main(String[] args){
MyThread my = new MyThread();
new Thread(my).start();
new Thread(my).start();
new Thread(my).start();
}
}
Java多线程系列-线程创建
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。