第八章 線程與對象串行化
1. 下列關(guān)于JAVA中進程與線程的說法不正確的是:B
A.多線程是一個程序中的多個并發(fā)執(zhí)行的程序流。
B.JAVA中一個應(yīng)用程序運行后在系統(tǒng)中作為一個獨立的線程。
C.多個線程在單個CPU的機器中運行時將分享CPU時間。
D.多線程機制可以提高程序的執(zhí)行效率。
2.下列程序的功能是創(chuàng)建線程打印5行“HOW DO YOU DO!”,請閱讀程序:
Public class ThreadTest
{
Public static void main(String args[])
{
Xyz xyz = new Xyz ();
( );
t.start();
}
}
Class Xyz implements Runnable
{
Int i;
Public void run()
{
While(i<5)
{
System.out.println(“How do you do!”+i++);
}
}
}
下列選擇中能夠填在下劃線上使用程序正確運行的語句是:A.
A.Thread t=new Thread(xyz) B.Thread t=new Thread()
C.Thread t=new Xyz() D.Thread t=new Thread(Xyz)
3 閱讀下列程序:
1 public class Try extends Thread
{
2 public static void main(String args[])
{
3 Try t=new Try();
4 t.start();
5 }
6
7 public void run(int j)
{
8 int i=0;
9 while(i<5)
{
10 System.out.println(“祝你成功!”+i++);
11 }
12 }
13 }
使程序創(chuàng)建一個線程打印5行“祝你成功!”,要求改正程序中的一行代碼,選擇正確的修改是:D
A. 將第一行的extendsThread改為implements Runnable
B. 將第三行的 new Try()改為new Thread()
C. 將第四行t.start()改為 start(t)
D. 將第七行的 public void run(int j)改為public void run()
4 閱讀下列程序:
Class ThreadTest implements Runnable
{
Public static void main(String args[])
{
ThreadTest tt=new ThreadTest();
}
Public ThreadTest()
{
Thread tt=new Thread(this);
tt.start();
}
Public void run()
{
System.out.println(“A thread test, ”);
System.out.println(“printed from a thread.”);
}
}
對該程序而言,正確的結(jié)論是:D
A. 該程序?qū)⒊霈F(xiàn)編譯錯誤,編譯器將提示變量tt 在main()方法和構(gòu)造方法ThreadTest()中進行了重復(fù)定義。
B. 該程序可以通過編譯,但不能正常運行,因為在構(gòu)造方法中不能使用this關(guān)鍵字
C. 該程序?qū)⑼ㄟ^編譯并可以運行,但將不能顯示任何字符串
D. 該程序?qū)⑼ㄟ^編譯并可以運行,運行結(jié)果是顯示字符串:A thread test,printed from a thread.
相關(guān)推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |