java线程简单介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013817349/article/details/50939572

1.线程?

操作系统有两个容易混淆的概念,进程和线程。

        进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。

        线程:表示程序的执行流程,是CPU调度执行的基本单位;线程有自己的程序计数器、寄存器、堆栈和帧。同一进程中的线程共用相同的地址空间,同时共享进进程锁拥有的内存和其他资源。

2.线程生命周期

        线程分为五个阶段:创建、就绪、运行、阻塞、终止。如下图:


3.如何实现多线程?

        java提供了2种方法,1)通过继承java.lang.Thread类;2)通过实现java.lang.Runnable接口。代码如下:

继承Thread类:

class 类名 extends Thread{
方法1;
方法2;
…
public void run(){
// other code…
}
属性1;
属性2;
…
 
}
通过重写run()方法,来实现java的多线程!

class 类名 implements Runnable{
方法1;
方法2;
…
public void run(){
// other code…
}
属性1;
属性2;
…
 
}
同样重写run()方法!

4.两种方法的区别

实现Runnable接口比继承Thread类所具有的优势:

        1)适合多个相同的程序代码的线程去处理同一个资源
        2)可以避免java中的单继承的限制
        3)增加程序的健壮性,代码可以被多个线程共享,代码和数据独立

展开阅读全文

没有更多推荐了,返回首页