标签:Runnable Thread 实现 接口 线程 public
创建对线程的第二种方式_实现Runnable接口
Runnable接口应该由那些打通过某一线程执行其实列的类在实现,类必须定义一个称为run发无参方法
Thread (Runnable target)分配新的对象 Thread对象
Thread (Runnable target,String name)分配新的Thread对象
实现步骤:
创建一个Runnable接口实现类
在实现类中重写Runnable接口的中的Run方法,设置线程任务
创建一个Runnable接口实现对象
创建Thread类对象,构造方法中传递Runnbable接口的实现类对象
调用Thread类中start方法,并开启新的线程run方法
案例:
package Runnable;
public class Runnableimpl implements Runnable{
@Override
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println(Thread.currentThread().getName()+i);
}
}
public static void main(String[] args) {
Runnableimpl runnableimpl = new Runnableimpl();
Thread thread = new Thread(runnableimpl);
thread.start();
for (int i = 0; i < 20; i++) {
System.out.println(Thread.currentThread().getName()+i);
}
}
}
看结果:
Thread和Runnable的区别
实现Runnleb实现多线程的好处:
1.避免了单继承的局限性
一个类只能继承一个类,类继承了Thread类就不能继承其他的类
实现Runnable接口,还可以继承其他的类,实现其他的接口
2.增强了程序的扩展性,降低了程序的耦合性(解耦)
实现Runnlab接口的方式,把设置线程任务和开启新线程进行了分离(解耦)
实现类中,重写了run方法,用来设置线程任务
创建Thread类对象,调用start方法;用来开启线程
案例:
public class Runnableimpl2 implements Runnable{
@Override
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println(Thread.currentThread().getName()+i);
}
}
public static void main(String[] args) {
Runnableimpl2 runnableimpl = new Runnableimpl2();
Thread thread = new Thread(runnableimpl);
thread.start();
for (int i = 0; i < 20; i++) {
System.out.println("hello");
}
}
}
标签:Runnable,Thread,实现,接口,线程,public 来源: https://www.cnblogs.com/ssr1/p/16462578.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。