Java认证考试

对于线程局部存储TLS(thread local storage),以下表述正确的是()。A、解决多线程中的对同一变量的访问冲突的一种技术B、TLS会为每一个线程维护一个和该线程绑定的变量的副本C、每一个线程都拥有自己的变量副本,从而也就没有必要对该变量进行同步了D、Java平台的java.lang.ThreadLocal是TLS技术的一种实现

题目

对于线程局部存储TLS(thread local storage),以下表述正确的是()。

  • A、解决多线程中的对同一变量的访问冲突的一种技术
  • B、TLS会为每一个线程维护一个和该线程绑定的变量的副本
  • C、每一个线程都拥有自己的变量副本,从而也就没有必要对该变量进行同步了
  • D、Java平台的java.lang.ThreadLocal是TLS技术的一种实现
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

Thread类中能运行线程的方法是( )。A.resume( )B.start( )C.run( )SXB

Thread类中能运行线程的方法是( )。

A.resume( )

B.start( )

C.run( )

D.init( )


正确答案:C
resume()是Thread类提供的用于线程控制的方法;start()是Thread类中的方法,新建的线程不会自动运行,必须调用线程的start()方法才能运行该线程;run()是Thread类中的方法,在该方法中定义了线程的具体行为,线程开始执行时,就是从它的run()方法开始执行的,就像Java应用程序从main()开始、Applet从init()开始-样;init()不是Thread类中的方法。

第2题:

对于下面语句的说法,不正确的是 Thread thrObj=new Thread();

A.系统没有为该线程对象分配资源

B.只能启动或者终止

C.创建了一个空的线程对象

D.可以调用其他方法


正确答案:D
解析:本题考查线程的创建。通过new命令创建一个线程对象后,该线程对象就处于创建状态,上面的语句只是创建了一个空的线程对象,选项C说法正确。此时,系统并没有为该线程对象分配资源,选项A说法正确。处于这种状态的线程,只能启动或者终止,选项B说法正确。该线程此时并不能调用其他方法,如果调用其他方法就会失败并引起非法状态处理,选项D说法错误,故应选。

第3题:

语句Thread thread1=new SomeThreadClass()成功运行后,线程thread1处于生命周期的______状态。


正确答案:新建状态
新建状态

第4题:

在多线程程序设计中,如果采用继承Thread类的方式创建线程,则需要重写Thread类的( )方法。

A.start

B.10cal

C.interrupt

D.run


正确答案:D
Thread类本身实现了Runnable接口,所以可以通过继承Thread类,并重写run()方法定义线程体,然后创建该子类的对象创建线程。

第5题:

下列程序的运行结果是______。 class A implements Runnable { int a; iht i = 2; A(int x) { a = x; } public void run() { while(i > 0) { System.out.println("线程" + a); i--; } } } public class Testl3 { public static void main(String[] args) { Thread a1 = new Thread(new A(1)); Thread a2 = new Thread(new A(2)); a1.start(); a2.start(); } }

A.线程1 线程1 线程2 线程2

B.线程1 线程2

C.线程1 线程2 线程1 线程2

D.线程1 线程1 线程1 线程1


正确答案:A
解析:类A实现了Runnable接口,并且通过类的构造函数A(int x)传递整型参数给对象作为线程的编号。在run()线程体内,实现打印两个字符串。在main()方法中,用A类的2个对象创建了a1和a2两个线程,当a1和a2开始执行时,从A类的run()方法开始执行。

第6题:

对于下面语句的说法,不正确的是( )。Thread thrObj=new Thread( );

A.系统没有为该线程对象分配资源

B.只能启动或者终止

C.创建了-个空的线程对象

D.可以调用其他方法


正确答案:D
本题考查线程的创建。通过new命令创建-个线程对象后,该线程对象就处于创建状态,上面的语句只是创建了-个空的线程对象,选项c说法正确。此时,系统并没有为该线程对象分配资源,选项A说法正确。处于这种状态的线程,只能启动或者终止,选项B说法正确。该线程此时并不能调用其他方法,如果调用其他方法就会失败并引起非法状态处理,选项D说法错误。

第7题:

以下定义线程方法正确的是 ( )

A.Public Thread();

B.Public Thread(Runnable target)

C.Public Thread(ThreadGroup group,Runnable target);

D.以上都正确


正确答案:D
解析:Tread类在JavaAPI的java.lang包中定义,Thread类的构造方法有多个,这些方法的一般构造可以表示如下:publicThread(ThreadGroupgroup,Runnabletarget,Stringname);其中参数的含义是:group—指明该线程所属的线程组;target—提供线程体的对象,线程启动时,该对象的run()方法将被调用;name—线程名称,Java中的每个线程都有自己的名称,如果name为null,则Java自动给线程赋予惟一的名称。上述方法的每个参数都可以为null。不同的参数去null值,就成为Thread类的各种构造方法。所以选项A、B、C的构造方法都是正确的。

第8题:

怎样创建线程()

A.通过Thread类的构造方法创建线程

B.Thread类提供了start()方法创建线程

C.通过实现Runnable接口创建线程

D.通过使用Thread类提供的interrupt()方法创建线程


参考答案:AC

第9题:

下列程序的运行结果是______。 Class C14 implements Runnable { private int i; public C14(int n) { this.i = n; } public void run{) { try { Thread.currentThread().sleep(i); } catch(InterruptedException ie) { System.err.println(ie.tString()); } System.out.println("线程" + Thread.currentThread() .getName + "睡眠了" + i + "毫秒结束"); } } public class Testl4 { public static void main(String[] args) { Thread t = new Thread(new C14(300), "t"); t.start(); } }

A.线程t睡眠了300毫秒结束

B.线程Thread-0睡眠了300毫秒结束

C.线程t睡眠了i毫秒结束

D.线程Thread-0睡眠了i毫秒结束


正确答案:A
解析:由于类C14实现了Runnable接口,没有继承类Thread,因此需要调用 Thread.currentThread()方法来返回当前线程的引用。在main()方法中,调用了类C14构造方法,其参数就是线程睡眠的时间300毫秒,而Thread类构造方法的另一个参数就是线程的名称t。

第10题:

在多线程程序设计中,如果采用继承Thread类的方式创建线程,则需要重写Thread类的( )方法。

A.start

B.local

C.interrupt

D.run


正确答案:D
D。【解析]Thread类本身实现了Runnable接口,所以可以通过继承Thread类,并重写run方法定义线程体,然后创建该子类的对象创建线程。

更多相关问题