面試中的乙個小問題引發的思考

2022-03-21 08:12:18 字數 462 閱讀 8356

public

void fun(int

i)

}

問題:上面的**是否會發生死鎖?

這個問題其實考察的是:this和lock這兩個關鍵字。如果對this不是很熟悉的話,肯定會回答,會發生死鎖。其實不然,這裡並不會發生死鎖。這是因為:this:代表的是當前物件,若果將**變成這樣的形式:

在c#中,this關鍵字代表當前例項,我們可以用this.來呼叫當前例項的成員方法,變數,屬性,欄位等;

public

class

demo

}public

void fun(int

i)

}

此時,我們可以看到this代表的是demo這個物件。因此,這裡lock鎖定的是demo這個物件。所以,鎖定的物件與i值無關,因此不會發生死鎖。

關於乙個小問題引發的感慨

首先先來看這樣乙個問題,大家在向後翻之前,先思考一下 現在有一本書,裡面紙的顏色不同,現在讓你想辦法找出,這裡面有多少種顏色,每種顏色多少張紙?這個小問題,我問過很多個人,我發現這個問題程式設計師回答的結果五花八門。我先來列舉一下 將書看成陣列,放到set裡面,就可以知道有多少種顏色了,然後用兩個f...

乙個生產問題引發的思考

前言 最近碰到乙個生產問題,整個處理過程讓我不禁想起幾年前碰到的乙個類似情景,但是結果卻完全不一樣。兩次問題說大不大,說小不小。這次由於我們處理及時,大事化小小事化了而已,然而幾年前的那次事件,卻由於多方原因,鬧得挺大,驚動了某會。由此引發的一些思考和總結吧。問題回顧 排查思路 生產出現這種效能問題...

由乙個typedef問題引發的思考

同樣,可以像下面這樣隱藏指標語法 typedef char pstr intmystrcmp const pstr p1,const pstr p3 用gnu的gcc和g 編譯器,是會出現警告的,按照順序,const pstr 被解釋為 char const 乙個指向char的指標常量 而事實上,c...