當前位置:首頁 » 工作應聘 » 線程面試題

線程面試題

發布時間: 2021-02-24 21:30:12

❶ java有關線程的面試

http://..com/question/346850241.html

❷ 求教一個百度的面試題,關於多線程單例模式的

多線程的單例問題非常類似consensus問題:一堆進程進入,退出時的狀態必須是第版一個進入之後的權初始化過的狀態。那麼用原子操作應當很容易實現。隨便想了一下,用兩個原子計數,一個表示對象是不是ready,另一個表示是不是正在初始化:

if (fetch(obj_ready))
{
return obj;
}
else
{
// 如果沒有人在構建,就去構建
if (fetch_and_set(obj_under_build,true) == false)
{
obj = new obj();
set(obj_ready, true);
return obj;
}
// 否則退出
else
{
return nullptr;
}
}

即使不用鎖,也必然有某種排它機制,因為對象正在初始化的時候是不可用的。這時候如果又有人來訪問它,要麼讓訪問者等待,要麼把訪問者踹出去。

❸ 哪裡有關於多線程的 c#面試題

來表示
2.同步因子,在某段代碼上增加同步因子,那麼整個JVM內部只能最多有一個線程執行這段,其餘的線程按FIFO方式等待執行.

❹ 百度Android面試題之如何停止一個線程

有三種方法來可以結束線程源:
1. 使用退出標志,使線程正常退出,也就是當run方法完成後線程終止
2. 使用interrupt()方法中斷線程
3. 使用stop方法強行終止線程(不推薦使用,可能發生不可預料的結果)
前兩種方法都可以實現線程的正常退出,也就是要談的優雅結束線程;第3種方法相當於電腦斷電關機一樣,是不安全的方法。

❺ 面試題:Java線程死鎖怎麼解決

1,互斥條件
2,請求和保持條件
3,不剝奪條件
4,環路等待條件 你把其中一個條件解除了就能解決死鎖這道面試題 我上次去公司我就是這樣回答了 過了~

❻ C面試題:單線程與多線程的問題

我的天,真是啥答案都有。例子嘛……

請參見《Windows程序設計》——Charles Petzold著
北京大學版出版社,第權五版
P1125

如若手頭沒有書,那……我只說4個字:文件載入。自己領悟吧~~~

PS:這涉及到輸入輸出中斷相關問題,若是不太了解底層,還是別想太深……

/////////////

另外,3樓朋友,你說的是單核,若是存在多個處理器,它們可以並發處理線程,實現真正的「並行處理」,此時線程的執行並無嚴格的一致順序,因此你的解釋在多個CPU共存時肯定不成立。

如果只有一個CPU,你的解釋……這個跟死循環……怎麼說呢,有一定關系——但我認為,這更應該屬於「線程安全」的討論范疇,與單線程/多線程的效率關系很牽強。

❼ 面試題:c++中線程怎麼捕獲另一個線程異常!謝謝

捕獲不了, 可以在一個線程中捕獲了再發消息給另一個線程

❽ JAVA面試題 JAVA中創建線程有幾種不同的方式

第一種方式:使用Runnable介面創建線程
第二種方式:直接繼承Thread類創建對象
使用Runnable介面創建線回程
1.可以將答CPU,代碼和數據分開,形成清晰的模型
2.線程體run()方法所在的類可以從其它類中繼承一些有用的屬性和方法
3.有利於保持程序的設計風格一致
直接繼承Thread類創建對象
1.Thread子類無法再從其它類繼承(java語言單繼承)。
2.編寫簡單,run()方法的當前對象就是線程對象,可直接操作。
在實際應用中,幾乎都採取第一種方式

❾ Java面試題,線程的幾種狀態是什麼

線程在執行過程中,可以處於下面幾種狀態:

就緒(Runnable):線程准備運行,不一定立馬就能版開始執行。
運行中(Running):進權程正在執行線程的代碼。
等待中(Waiting):線程處於阻塞的狀態,等待外部的處理結束。
睡眠中(Sleeping):線程被強制睡眠。
I/O阻塞(Blocked on I/O):等待I/O操作完成。
同步阻塞(Blocked on Synchronization):等待獲取鎖。
死亡(Dead):線程完成了執行。

❿ java 線程面試題

我不知道你是不是這個意思,thread1,thread2兩個線程每次讓j增加1,thread3,thread4兩個線程每次讓j減少1,四個線程每個都調用250次相關加減一操作。最終j的結果都是100.
下面程序,總計會列印出1000個數,不管怎麼樣最後一個數永遠是100,即j的終值永遠是100,為了看中間結果運行過程我加了sleep,但無關緊要。你看看符合你要求不?
就像樓上說的,啟動1000條線程不是很明白,不一致的繼續討論
package com.kalort;

public class ThreadTest
{
public static void main(String[] args)
{
Operator operator = new Operator();
Thread thread1 = new IncreaseThread(operator);
Thread thread2 = new IncreaseThread(operator);
Thread thread3 = new DecreaseThread(operator);
Thread thread4 = new DecreaseThread(operator);
thread1.start();
thread2.start();
thread3.start();
thread4.start();
}
}

class IncreaseThread extends Thread
{
private Operator operator;

public IncreaseThread(Operator operator)
{
this.operator = operator;
}

public void run()
{
for (int i = 0; i < 250; i++)
{
try
{
Thread.sleep((long)(Math.random() * 100));
}
catch (InterruptedException e)
{
e.printStackTrace();
}
operator.increase();
}
}
}

class DecreaseThread extends Thread
{
private Operator operator;

public DecreaseThread(Operator operator)
{
this.operator = operator;
}

public void run()
{
for (int i = 0; i < 250; i++)
{
try
{
Thread.sleep((long)(Math.random() * 100));
}
catch (InterruptedException e)
{
e.printStackTrace();
}
operator.decrease();
}
}
}

class Operator
{
private int j = 100;

public synchronized void increase()
{
while (100 != j)
{
try
{
wait(); // 如果另外線程還沒減一就等待
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
j++;
System.out.println(j);
notify(); // 通知另外線程已經加一了。
}

public synchronized void decrease()
{
while (100 == j)
{
try
{
wait();
}
catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
j--;
System.out.println(j);
notify();
}
}

熱點內容
鬼片高清畫質。電影。 發布:2024-08-19 09:14:10 瀏覽:650
一家看電影網 發布:2024-08-19 08:57:54 瀏覽:155
韓國大屍度電影推薦 發布:2024-08-19 08:55:58 瀏覽:719
接吻電影的名字美國 發布:2024-08-19 08:41:41 瀏覽:758
韓劇女主高中就懷孕了劇名 發布:2024-08-19 08:00:29 瀏覽:692
藍色頭發電影女主角 發布:2024-08-19 07:51:59 瀏覽:849
台灣電影老師上了學生 發布:2024-08-19 07:36:20 瀏覽:964
兩人吃屎的電影 發布:2024-08-19 07:25:07 瀏覽:450
有裸露下體的大尺度電影嗎 發布:2024-08-19 07:20:50 瀏覽:790
好看的電影在線觀看免費 發布:2024-08-19 06:55:37 瀏覽:912