java的多线程机制(文字描述区别)

来源:互联网 发布:java 日志分析框架 编辑:程序博客网 时间:2024/05/16 15:35

1.简述并区分程序、进程和线程三个概念。

程序是为完成特定任务、用某种语言编写的一组指令的集合。指一段静态的代码。
进程是程序的一次执行过程,是系统进行调度和资源分配的一个独立单位。

 线程是比进程更小的执行单位。
一个进程在其执行过程中,可以产生多个线程,形成多条执行线索。
每个线程也有它自身的产生、存在和消亡的过程,也是一个动态的概念。
一个线程有它自己的入口和出口,以及一个顺序执行的序列
线程不能独立存在,必须存在于进程中。
线程 — 轻量级的进程

 

 2.线程有哪几个基本的状态?Java中线程调度遵循何种原则?

答:线程与进程都是顺序执行的指令序列,但线程和进程不同。对于进程来说,子进程与父进程有不同的代码和数据空间;但是多个线程则共享数据空间,每个线程都有自己的执行堆栈和程序计数器作为其执行的上下文。线程的基本状态有新建、就绪、运行、阻塞、死亡。线程调度安照线程的优先级来调度线程的执行,具有高优先级的线程会在较低优先级的线程之前得到执行。同时线程的调度是抢先式的。


 3.实现多线程可以用哪两种基本方法?将这两种方法进行比较。

第一种方法是通过实现Runnable接口实现,第二种方法是通过继承Thread类,

使用Runnable方式可以实现两条线程交替运行(注:不是绝对的交替),而用Thread无法实现。

原创粉丝点击