首页 > 编程语言 > 详细

线程的实现

时间:2019-12-03 12:13:58      阅读:14      评论:0      收藏:0      [点我收藏+]

标签:lan   pub   线程的实现   err   方法   ava   

1.在java中,线程的实现由2种

(1).继承Thread类

(2).实现Runnable接口

2.Thread类

Thread类是java.lang包中定义的,继承Thread类必须重写run()方法

定义格式:

class className extends Thread{

  run(){}

}

3,Runnable接口

定义格式:

class RunnableName implements Runnable{

  run(){}

4.Thread类项目结构

(1).

技术分享图片

 

 (2).MyThread.java

package thread;

public class MyThread extends Thread{
private String name;

//构造方法传递一个参数来标识我当前是哪一个线程
public MyThread(String name) {
this.name=name;
}
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(name +":"+i);
}
}
}

(3).ThreadDemo.java

package thread;

public class ThreadDemo {

public static void main(String[] args) {
//创建两个线程实现线程的并发机制
MyThread a=new MyThread("A");
MyThread b=new MyThread("B");
a.run();
b.run();
}
}

启动项目截图:

技术分享图片

 

 线程应该是并行执行的,说明启动线程不应该是run()方法

调用start()方法启动线程

package thread;

public class ThreadDemo {

public static void main(String[] args) {
MyThread a=new MyThread("A");
MyThread b=new MyThread("B");
//a.run();
//b.run();
a.start();
b.start();
}
}

技术分享图片

 

 调用start()方法说明线程并行执行

5.Runnable接口项目结构
(1)

技术分享图片

 

 (2).MyRunnable.java

package thread;

import org.omg.CORBA.StringHolder;

public class MyRunnable implements Runnable{
private String name;

//构造方法,用来判断是哪个线程在执行
public MyRunnable(String name) {
this.name=name;
}
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(name+":"+i);
}
}
}


(3).TestDemo.java

package thread;

public class ThreadDemo {

public static void main(String[] args) {
MyRunnable r1=new MyRunnable("A");
MyRunnable r2=new MyRunnable("B");
//因为Runnable接口不存在statrt()启动方法,所以需要新建一个线程
//通过Thread启动
Thread t1=new Thread(r1);
Thread t2=new Thread(r2);
t1.start();
t2.start();
}
}
(4).启动项目截图

技术分享图片

 

 说明线程并行执行

线程的实现

标签:lan   pub   线程的实现   err   方法   ava   

原文:https://www.cnblogs.com/curedfisher/p/11974561.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号