java期末习题集1 联系客服

发布时间 : 星期六 文章java期末习题集1更新完毕开始阅读

被放在可运行的线程队列的前面

D、挡因等待对象锁而被阻塞的线程获得锁后,将直接进入运行状态 32、下列有关线程的叙述哪个是正确的?( ) A、一旦一个线程被创建,它就立即开始运行

B、调用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行

C、主线程不具有默认优先级

D、Java中线程的优先级从低到高以整数0~9表示

33、resume()方法负责恢复被哪个方法挂起的线程?( )

A、stop() B、sleep() C、wait() D、suspend() 34、.Java虚拟机的执行过程有多个特点,下列哪个特点不属于JVM执行特点?( )

A、多线程 B、动态连接 C、异常处理 D、异步处理

35、下列叙述中,正确的是( )

A、线程与进程在概念上不相关的 B、一个进程可包含多个进程

C、一个线程可包含多个线程 D、Java中线程没有优先级

36、.关于下列程序的功能,说法正确的是 ( ) public class ko10_1 extends Thread { int n;

ko10_1(){

Thread td=new Thread(this); td.start(); }

public void run() { for (n=0;n<6;n++) { try {

System.out.print(n); Thread.sleep(500); }

catch(InterruptedException e)

{ System.out.println(\ }

public static void main(String args[]) { new ko10_1(); } }

A、这段程序的功能是、每隔500秒打印012345 B、这段程序的功能是、每隔1秒打印012345 C、这段程序的功能是、每隔半秒打印012345

37

D、这段程序的功能是、每隔半分钟打印012345

37、.一个Java application 运行后,在系统中是作为一个 ( ) A、线程 B、进程 C、进程或线程 D、不可预知 38、下列关于Java多线程并发控制机制的叙述中,错误的是( ) A、Java中对共享数据操作的并发控制是采用加锁技术 B、线程之间的交互,提倡采用suspend( )/resume( )方法 C、共享数据的访问权限都必须定义为private

D、Java中没有提供检测与避免死锁的专门机制,但应用程序员可以

采用某些策略防止死锁的发生

39、关于以下程序段的执行结果,说法正确的是 ( ) public class Borley extends Thread{ public static void main(String argv[]){ Borley b = new Borley(); b.start(); }

public void run(){

System.out.println(\ } }

A、编译通过并执行,但无输出 B、编译通过并执行,输出、Running

C、产生错误,没有Thread类对象 D、产生错误,没有通道到达Thread包

40、下面不属于线程生命周期的状态的是: ( )

A、新建状态 B、可运行状态 C、运行状态 D、等待状态

41、使比其自身优先级低的线程运行的Thread类的方法是、( )

A、sleep() B、yiele() C、join() D、interrupt() 42、下面关于对象加锁的叙述错误的是、 ( )

A、当一个线程获得了对象的锁后,其他任何线程不能对该对象进行任何操作

B、对象锁的使用保证了共享数据的一致性 C、Java中的对象锁是共享锁

D、对象锁只对临界区操作才有意义

44、下面关于线程优先级的说法中,错误的是、( ) A、Java中的线程的优先级有三个静态常量 B、新建线程的优先级默认为最低

38

C、优先级高的线程优先被执行

D、一个线程运行时,有可能被比它高优先级的线程抢占运行 45、下列方法中哪个是执行线程的方法?( )

A、run() B、start() C、sleep() D、suspend()

46、使创建的线程参与运行调度的方法是( )

A、run() B、start() C、init() D、resume() 47、下列方法中可用于定义线程体的是( )

A、start() B、init() C、run() D、main()

48、如果线程调用下列方法,不能保证使该线程停止运行的是( )

A、sleep () B、stop () C、yield () D、wait () 49、下列方法中可以用来创建一个新线程的是( )。

A、实现java.lang.Runnable 接口并重写 start()方法 B、实现java.lang.Runnable 接口并重写 run()方法

C、继承java.lang.Thread 类并重写 run()方法 D、实现java.lang.Thread 类并实现 start()方法 50、阅读下列程序

public class Test implements Runnable{ private int x=0; private int y=0; boolean flag =true;

public static void main (String args[]){ Test r =new Test ();

thread t1= new thread(r); thread t2= new thread(r); t1.start(); t2.start();}

public void run(){ while(flag){ x++; y++;

system.out.println(\); if(x>=10){ flag=false;}}}

下列对程序运行结果描述正确的是( )

A、每行的(x,y)中,可能有x≠y,每一对(x,y)值都出现两次 B、每行的(x,y)中,可能有x≠y,每一对(x,y)值都出现一次 C、每行的(x,y)中,可能有x=y,每一对(x,y)值都出现两次

39

D、每行的(x,y)中,可能有x=y,每一对(x,y)值都出现一次

51、在一个线程中调用下列方法,不会改变线程运行状态的是( )

A、yield() B、另一个线程的join方法 C、sleep() D、一个对象的notify方法

52、在一个线程中使用sleep(1000)方法,将使该线程在多少时间后

获得CPU控制,假设睡眠过程中不会有其他事件唤醒该线程( )

A、正好1000豪秒 B、1000豪秒不到

C、>=1000ms D、不一定,可能>1000ms,可能<1000ms 54、以下哪个方法用于定义线程的执行体( )

A、 start() B、init() C、run() D、main() E、synchronized()

60、下面哪些不是线程的状态?( )

A、ready B、dead C、running D、nonRunnable 61、如果当前线程需要让出CPU的使用权时,则调用方法、( )

A、wait() B、notify() C、yield() D、sleep() 62、关于线程的同步,下面说法正确的是、( )

A、线程的同步完全由系统来实现,用户不需要定义线程间的同步 B、在对共享资源以互斥的方式访问时,需要用户定义线程间的同步 C、线程的同步与线程的优先级有关 D、线程的同步就是线程的调度

63、关于线程的死锁,下面的说法正确的是( ) A、若程序中存在线程的死锁问题,编译时不能通过 B、线程的死锁是一种逻辑运行错误,编译器无法检测 C、实现多线程时死锁不可避免

D、为了避免死锁,应解除对资源以互斥的方式进行访问

76、 关于以下程序段的执行结果,说法正确的是( ) public class Borley extends Thread{ public static void main(String argv[]){ Borley b = new Borley(); b.start(); }

public void run(){

System.out.println(\ } }

A、编译通过并执行,但无输出 B、编译通过并执行,输出、Running

40