您的位置:首页 > 编程语言 > Java开发

Java自学--线程

2013-12-16 15:34 316 查看
Java 多线程

1.thread

class MyThread extends Thread{ // 继承Thread类,作为线程的实现类

private String name ;// 表示线程的名称

public MyThread(String name){

this.name = name ;// 通过构造方法配置name属性

}

public void run(){// 覆写run()方法,作为线程 的操作主体

for(int i=0;i<10;i++){

System.out.println(name + "运行,i = " + i) ;

}

}

};

public class ThreadDemo02{

public static void main(String args[]){

MyThread mt1 = new MyThread("线程A ") ;// 实例化对象

MyThread mt2 = new MyThread("线程B ") ;// 实例化对象

mt1.start() ;
// 调用线程主体

mt2.start() ;
// 调用线程主体

}

};

1.runnable

class MyThread implements Runnable{ // 实现Runnable接口,作为线程的实现类

private String name ;// 表示线程的名称

public MyThread(String name){

this.name = 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("线程A ") ;// 实例化对象

MyThread mt2 = new MyThread("线程B ") ;// 实例化对象

Thread t1 = new Thread(mt1) ;// 实例化Thread类对象

Thread t2 = new Thread(mt2) ;// 实例化Thread类对象

t1.start() ;
// 启动多线程

t2.start() ;
// 启动多线程

}

};

Tread类无法实现资源共享,Runnable实现了资源共享

例子

1.thread

class MyThread extends Thread{ // 继承Thread类,作为线程的实现类

private int ticket = 5 ;// 表示一共有5张票

public void run(){// 覆写run()方法,作为线程 的操作主体

for(int i=0;i<100;i++){

if(this.ticket>0){

System.out.println("卖票:ticket = " + ticket--) ;

}

}

}

};

public class ThreadDemo04{

public static void main(String args[]){

MyThread mt1 = new MyThread() ;// 实例化对象

MyThread mt2 = new MyThread() ;// 实例化对象

MyThread mt3 = new MyThread() ;// 实例化对象

mt1.run() ;
// 调用线程主体

mt2.run() ;
// 调用线程主体

mt3.run() ;
// 调用线程主体

}

};

1.Runnable

class MyThread implements Runnable{ // 继承Thread类,作为线程的实现类

private int ticket = 5 ;// 表示一共有5张票

public void run(){// 覆写run()方法,作为线程 的操作主体

for(int i=0;i<100;i++){

if(this.ticket>0){

System.out.println("卖票:ticket = " + ticket--) ;

}

}

}

};

public class RunnableDemo02{

public static void main(String args[]){

MyThread mt = new MyThread() ;// 实例化对象

new Thread(mt).run() ;// 调用线程主体

new Thread(mt).run() ;// 调用线程主体

new Thread(mt).run() ;// 调用线程主体

}

};

资源共享时要进行同步操作

程序中过多的同步会产生死锁
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: