Programming Language

Cheney on the M.T.A

如果問軟體工程師他覺得簡潔又經典的文章,我想很多人會回答你這篇:Cheney on the M.T.A.

» Read More

Structured Concurrency

Thread 跟 Coroutine 是兩種常常用來處理 Concurrency 的工具。

使用這兩個工具時,很麻煩的一點就是需要手動管理他們的生命週期。本質上,Thread 跟 Coroutine 都是 global scope,不管你如何建立,他們都獨立在原本的程式順序之外。

常見的例子是,如果你在 main 建立一個新的 thread,main 並不會等 thread 結束,而需要你手動 join thread,在複雜的情況(例如 cancel、timeout)便相當容易出錯。

而 Structured Concurrency 就是試圖將 Thread 的生命週期與大家都很熟悉的 scope 結合。

» Read More