java中什么是线程?该如何理解?

线程的概念与原理

线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,线程没有自己的虚拟地址空间,与进程内的其他线程一起共享分配给该进程的所有资源。

线程在执行过程中与进程是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。

线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程包含以下内容:

1、 一个指向当前被执行指令的指令指针;

2、一个栈;

3、一个寄存器值的集合,定义了一部分描述正在执行线程的处理器状态的值;

4、一个私有的数据区。

Java中的线程

在Java中,“线程”指两件不同的事情:

1、java.lang.Thread类的一个实例;

2、线程的执行。

在Java程序中,有两种方法创建线程:

一、是对 Thread 类进行派生并覆盖 run方法;

二、是通过实现Runnable接口创建。

推荐教程:Java教程

以上就是java中什么是线程?该如何理解?的详细内容,更多请关注其它相关文章!