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

【Java基础】线程和进程

2019-03-23 15:37 127 查看

线程诞生的原因: 随着计算机的发展,对CPU的要求越来越高,进程之间的切换开销较大,已经无法满足越来越复杂的程序的要求了。于是就发明了线程。(要了解线程,首先就要清楚历史背景,先有进程后有线程。)

进程的概念:进程是指可执行程序,并存放在计算机存储器的一个指令序列,它是一个动态执行的过程。

线程的概念: 线程是程序执行中一个单一的顺序控制流程,是程序执行流最小单元,是处理器调度分派基本单位。一个进程可以有一个或多个线程,各个线程之间共享程序的内存空间(也就是所在进程的内存空间)。

线程的组成:                                                      进程的组成:

a.线程ID                                                         a.内存空间(代码、数据、进程空间、打开的文件)

b.当前指令指针(PC)                                    b.一个或多个线程组成

c.寄存器和堆栈组成。

 

线程和进程的区别:

线程的创建:

a.继承Thread类

[code]class MyThread extends Thread{
public void run() {
System.out.println(getName()+"线程 正在运行中!");
}
}
public class ThreadTest {
public static void main(String[] args) {
MyThread mt=new MyThread();
mt.start();
}
}

b.实现 Runnable接口

[code]class PrintRunnable implements Runnable{
public void run() {
System.out.println(Thread.currentThread().getName()+"在运行中!");
}
}
public class Test {
public static void main(String args[]) {
PrintRunnable pr1=new PrintRunnable();
Thread th1=new Thread(pr1);
th1.start();
PrintRunnable pr2=new PrintRunnable();
Thread th2=new Thread(pr2);
th2.start();
}
}

线程的生命周期如图所示:

简单说明一下:a.jdk8中stop()方法已经不使用了。 

今天先复习到这里吧。。。持续更新~

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: