Skip to content

習題 4 -- multi-thread 使用 mutex 前後  #5

@ccckmit

Description

@ccckmit

以下題目 2 選 1 (第一題較簡單,也較容易產生 race condition,推薦做第一題)

  1. 寫一個 multi-thread 的提款與存款程式,分成兩個版本 (較簡單,推薦)
    • 沒有用 mutex,用很多密集的提款與存款造成 race condition
    • 有用 mutex,用很多密集的提款與存款也不會造成 race condition
  2. 寫一個 multi-thread 的爬蟲程式,分成兩個版本 (較困難,挑戰題)
    • 沒有用 mutex,用很多密集的爬網頁會造成 race condition
    • 有用 mutex,用很多密集的爬網頁也不會造成 race condition

提醒:最後要寫一個 README.md 文件,記錄執行結果並說明這些結果的意義。

問題 1 詳細描述

a. 使用者應紀錄自己原本帳戶有多少錢,每次存提多少錢,還剩下多少錢
b. 每次存提款請求給銀行之後,銀行應傳回還剩下多少錢。
c. 使用者應檢核『存款+-存提款數量=剩下金額』是否正確,如果有錯立刻報錯。

參考

  1. race.c
  2. norace.c

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions