2021 年 10 月 25 日2021 年 10 月 8 日C++ Parallel Tutorial 3: Deadlock (Implement with C++) 我們假設一個開銀行保險箱的例子,假如今天Tim跟Ryan兩個人各有一把鑰匙,兩個人都必須要拿到兩支鑰匙才能夠開保險箱,而Tim總是先拿自己的鑰匙去開之後,才去找Ryan借鑰匙;相反的,Ryan則是先拿自己的鑰匙開之後,才去找Tim拿第二支鑰 […] 閱讀全文
2021 年 10 月 22 日2021 年 10 月 8 日C++ Parallel Tutorial 2: Shared Mutex (Implement with C++) 使用一般 mutex的case 由圖片可以發現,一旦一個reader開始讀取,其他reader沒辦法一起讀取,必須要等到該thread unlock的時候才能讀取,但其實有一些狀況下,同時讀取是可以的,多個reader可以一起讀取,除非有人 […] 閱讀全文
2021 年 10 月 18 日2021 年 10 月 8 日C++ Parallel Tutorial 1: Data Race (Implement with C++) Data Race是指兩個或以上的thread在修改同一個數據時發生衝突,造成修改後的數據不正確。 Data Race Case 以上的Code會產生data race的問題,最後出來的project數量並不會是 2000000,而且每次出 […] 閱讀全文
2021 年 8 月 9 日2021 年 8 月 8 日程式 作業系統必備知識 甚麼是OS 電腦系統四個組成要素:硬體設備、作業系統、應用程式、使用者 作業系統負責控制並協調分配硬體資源給各個使用者,管理系統內的 硬體、軟體、資料。 Process vs Thread Process (程序) Process 需要一些 […] 閱讀全文
2021 年 5 月 16 日2021 年 5 月 15 日Leetcode LeetCode: Regular Expression Matching 題目類型:找出能用pattern表示的string,可以表示回傳true,使用動態規劃解析問題 . → 任何字母都可以 * → 前面的字母可以乘幾次 解題規則 pattern 沒有遇到 * ,只要 s[i-1] 與 p[j-1] 一樣,或是 […] 閱讀全文