今天学习了多线程的内容我们开始吧!!!
进程是资源分配的单位,线程是调度执行的单位!!!
多线程中,每个线程的栈空间独立,堆空间方法区共享!!!
进程是程序的一次动态执行过程,从代码加载,代码执行到执行完毕的一个完整的过程, CPU 具备分时机制,所以每个进程都能循环获得自己的CPU 时间片。由于 CPU 执行速度非常快,使得所有程序好像是在同时运行一样。
多线程是实现并发机制的一种有效手段。进程和线程一样,都是实现并发的一个基本单位。线程是比进程更小的执行单位,多线程是指一个进程在执行过程中可以产生多个更小的程序单元,这些更小的单元称为线程,一个进程可能包含多个执行的线程
在 Java 中实现多线程有两种手段,一种是继承 Thread 类,另一种就是实现 Runnable 接口
我们先看一下继承Thread类:
class MyThread extends Thread{
@Override
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println("MyThread线程---->"+ i);
}
}
}
class MyRunnable implements Runnable{
@Override
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println("MyRunnable接口实现类线程--->"+ i);
}
}
}
public class threadTest {
public static void main(String[] args) {
MyThread t= new MyThread();
t.start();
for (int i = 0; i < 20; i++) {
System.out.println("主线程--->"+ i);
}
}
}
结果展示:
我们用另一种方法,实现Runnable接口,我们看那个Thread的构造方法中传入的可以是Runnable对象:
我们测试一下:
class MyRunnable implements Runnable{
@Override
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println("MyRunnable接口实现类线程--->"+ i);
}
}
}
public static void main(String[] args) {
Thread t=new Thread(new MyRunnable());
t.start();
for (int i = 0; i < 20; i++) {
System.out.println("主线程--->"+ i);
}
}
结果展示:
多线程的初体验我们先看到这里吧,每天都在学习,一起进步!!!