问题详情

下列关于Java语言中线程的叙述中,正确的是


A、线程是由代码、数据、内核状态和一组寄存器组成

B、线程间的数据是不共享的

C、用户只能通过创建Thread类的实例或定义、创建Thread子类的实例建立和控制自己的线程

D、因多线程并发执行而引起的执行顺序的不确定性可能造成执行结果的不确定

时间:2022-01-04 21:02 关键词:

答案解析

D
解析:本题考查线程的基本知识。选项A,线程与进程在概念上是相关的,线程是由表示程序运行状态的寄存器、程序计数器、栈指针以及堆栈组成,它不包含进程地址空间中的代码和数据。因此,选项A的说法是错误的。选项B,代码所操作的数据是Java线程模型中的一个组成部分,数据与代码是独立的。数据可以被多个线程共享,也可不共享。因此,选项B的说法是错误的。选项C,Java语言中提供两种创建线程的方法,一种是通过继承Thread类创建线程,另一种是通过实现Runnable接口来创建线程。因此,选项C的说法是错误的。选项D,在多线程的程序中,当多个线程并发执行时,虽然各个线程中语句的执行顺序是确定的,但线程的相对执行顺序是不确定的。这种线程运行顺序的不确定性将会产生执行结果的不确定性。因此,选项D的说法是正确的。