多线程实现

基本概念

多线程是Java语言的重要特性,大量应用于网络编程、服务器端程序的开发,最常见的UI界面底层原理、操作系统底层原理都大量使用了多线程。我们可以流畅的点击软件或者游戏中的各种按钮,其实,底层就是多线程的应用。UI界面的主线程绘制界面,如果有一个耗时的操作发生则启动新的线程,完全不影响主线程的工作。当这个线程工作完毕后,再更新到主界面上。我们可以上百人、上千人、上万人同时访问某个网站,其实,也是基于网站服务器的多线程原理。如果没有多线程,服务器处理速度会极大降低。

通过继承Thread类实现多线程

继承Thread类实现多线程的步骤:
1. 在Java中负责实现线程功能的类是java.lang.Thread 类。
2. 可以通过创建 Thread的实例来创建新的线程。
3. 每个线程都是通过某个特定的Thread对象所对应的方法run( )来完成其操作的,方法run( )称为线程体。
4. 通过调用Thread类的start()方法来启动一个线程。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Study_01 extends Thread{

@Override
public void run() {
for(int i =0;i<10;i++)
System.out.println("Sleep");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i =0;i<10;i++)
System.out.println("Study");
Study_01 st=new Study_01();
st.start();

}

}

缺点:Java不可以多继承。

通过Runnable接口实现多线程

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Study_02 implements Runnable{

public static void main(String[] args) {
// TODO Auto-generated method stub
Study_02 st= new Study_02();
Thread th=new Thread(st);
th.start();
for(int i=0;i<10;i++)
System.out.println("eat");
//new Thread(new Study_02()).start(); 只使用一次线程
}

@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<10;i++)
System.out.println("Study");
}

}

总结

推荐使用Runnable接口,即在实现Runnable接口的同时还可以继承某个类。所以实现Runnable接口的方式要通用一些。

原创技术分享,您的支持将鼓励我继续创作
0%