iT邦幫忙

concurrency相關文章
共有 41 則文章
鐵人賽 Modern Web DAY 9

技術 [Day09] 進程、線程、協程,傻傻分得清楚!

要成為一個優秀的軟體工程師,進程(process)、線程(thread)是一定要搞懂與掌握的知識點,不僅是因為它們是電腦科學根本的知識,更是因為懂得在適當的時...

鐵人賽 Modern Web DAY 11
JavaScript Easy Go! 系列 第 11

技術 #11 Web Crawler 4

今天,來優化爬蟲的速度。 調查問題成因 回顧一下,我們的程式執行了以下步驟: 下載網頁 解析網頁 合併數據 儲存數據 我們先來記錄一下各步驟執行的時間。 /...

鐵人賽 Software Development DAY 7

技術 Day07-Go 語法 III

前面兩天講的都是基本的語法,Go 有的其他語言也有,但今天要說的 Goroutine 跟 Channel 就是 Go 才有的特性了,也是 Go 最厲害的地方...

鐵人賽 Big Data DAY 4

技術 Day 04 - Clojure 基礎知識(四)

Concurrency V.S. Parallelsim Concurrency 併發:同時管理超過一個任務,但不一定是同時執行,切換前也不必要完成原先的任務...

技術 [Golang] Goroutine Concurrency多執行緒淺談

Goroutine Golang 中多執行緒稱為" Goroutine" ,在其他程式語言中大多稱為" Thread",...

鐵人賽 Software Development DAY 11

技術 Day11 Mutex vs Channel

昨天看過 race condiction 的情況後,我們了解了 mutex.Lock 與 channel,可以幫助我們同步 memory 狀態,避免發生奇怪的資...

鐵人賽 Software Development DAY 12

技術 Day12 Atomic

關於 sync/atomic 是於 go@v1.14 才推出的新東西,筆者也是最近才知道有這個包可以使用。Atomic 目標在一些單純的操作上,完成最小原子性操...

鐵人賽 Software Development DAY 30

技術 並行程式的潛在問題 (三)

在介紹 Mutex lock 與 Spinlock 後,本篇文章同樣針對並行程式的 Synchronization 作探討,以保證並行程式的執行順序。 Sema...

鐵人賽 Software Development DAY 9

技術 Day9 Goroutine & Concurrency

今天不延用 BasicGo 的標題,並非 Concurrency 很困難,而是他在 golnag 中可以被輕易實踐,反而容易造成初學者的一些困擾與誤解,建議首次...

鐵人賽 Software Development DAY 2
Hey! Go Design Patterns 系列 第 2

技術 DAY 2:Single Threaded Execution Pattern,門就只有一個大家好好排隊啊~

什麼是 Single Threaded Execution Pattern? 透過 lock,只會有一個 goroutine 執行此區段的程式碼 問題情境...

鐵人賽 Software Development DAY 20
Hey! Go Design Patterns 系列 第 20

技術 DAY 20:Adapter Pattern,統一不同產品的介面

Creational 建立相關的 patterns 已經告一段落,接下來要進入 Structural 結構模式相關的 patterns,主要目的在設計出低耦合的...

鐵人賽 Software Development DAY 10
Hey! Go Design Patterns 系列 第 10

技術 DAY 10:Two-phase Termination Pattern,我就跟你說不要亂拔電源!

什麼是 Two-phase Termination Pattern? 分兩個階段關閉 goroutine,第一階段先結束 goroutine 的程式邏輯,第二...

鐵人賽 Mobile Development DAY 29

技術 day29 大量操作怎麼辦? 連volatile都救不了我QQ

我先講解法,再講為甚麼volatile沒用 那我會搭配文檔講,但其實不管情境怎麼會概念還是一樣的,這裡範例選用和文檔一樣的從1加到10萬 atomic原子性 前...

鐵人賽 Software Development DAY 3
Hey! Go Design Patterns 系列 第 3

技術 DAY 3:Read-Write-Lock Pattern,三人成虎,一人打虎!

什麼是 Read-Write-Lock Pattern? 多讀單寫。將 lock 分為 read 與 write 兩種,讓 lock 效能更佳,read 行為...

鐵人賽 Software Development DAY 1
Hey! Go Design Patterns 系列 第 1

技術 DAY 1:Hey! Go Design Patterns

大家好,本系列文章探討經典 Design Patterns 在現代語言 Golang 的演變。雖然小弟是一位還在學習的小小碼農,但希望文章能夠以相對淺顯不高深...

鐵人賽 Mobile Development DAY 28

技術 day28 等一下啦,會壞掉的/// Coroutine併發操作的重複請求

沒有要開車,參賽規定有寫不能污言穢語,等我有空再去其他平台寫個開車系列的coroutine 這裡給個快轉,android開發者從1開始看,ktor從2開始看...

鐵人賽 Software Development DAY 23
Hey! Go Design Patterns 系列 第 23

技術 DAY 23:Facade Pattern,由統一的入口介面來做事

什麼是 Facade Pattern? 實作不依賴多個類別,而是依賴介面,並把這些類別實作在此介面 問題情境 (相關的 code 在Github - go-...

鐵人賽 Software Development DAY 22
Hey! Go Design Patterns 系列 第 22

技術 DAY 22:Decorator Pattern,巧妙的在方法上增加新功能

什麼是 Decorator Pattern? 不以靜態繼承而是用動態組合的方式增加功能 UML 圖如下: ProductDecorator 與 Produ...

鐵人賽 Software Development DAY 4
Hey! Go Design Patterns 系列 第 4

技術 DAY 4:Guarded Suspension Pattern,你不會死的,因為我會保護你

什麼是 Guarded Suspension Pattern? 如果 thread 執行時條件不符,就停下等待,等到條件符合時再開始開始執行 問題情境 當設...

鐵人賽 Software Development DAY 12
Hey! Go Design Patterns 系列 第 12

技術 DAY 12:Concurrency Patterns 融會貫通+Graceful Shutdown,正確關閉各個宇宙的次元門

前 11 天已經將常見的 concurrency patterns 介紹完畢,今天我們要介紹的不是 patterns,而是在實務使用 concurrency p...

鐵人賽 Software Development DAY 14
Hey! Go Design Patterns 系列 第 14

技術 DAY 14:Simple Factory Pattern,把複雜細節隱藏的小工廠

工廠模式主要有三種不同的實作: Simple Factory Pattern Factory Method Pattern Abstract Factory...

鐵人賽 Software Development DAY 9
Hey! Go Design Patterns 系列 第 9

技術 DAY 9:Worker Pool Pattern,就。很。Pool。

什麼是 Worker Pool Pattern? 設定好 pool 的 goroutine 數量,預先啟動多個 goroutine,把 job 傳給這些 go...

鐵人賽 Software Development DAY 6
Hey! Go Design Patterns 系列 第 6

技術 DAY 6:Feature Pattern,我把未來託付給你了!

什麼是 Future Pattern? 呼叫者將 task 交給 goroutine 執行,執行完畢後 goroutine 將 task 運行得到的結果傳回呼...

鐵人賽 Software Development DAY 28
Hey! Go Design Patterns 系列 第 28

技術 DAY 28:Command Pattern,將動作已指令一個一個完成

什麼是 Command Pattern? 將建立指令與實際執行分離 問題情境 PS5 有特定操作 CPU 指令的實作.ACommand()、.BComman...

鐵人賽 Software Development DAY 21
Hey! Go Design Patterns 系列 第 21

技術 DAY 21:Bridge Pattern,橋接人間與魔界的次元門

什麼是 Bridge Pattern? 將抽像與實現分離,讓彼此變化互不影響 問題情境 PS5 有著 PS5WithCD 與 PS5WithDigital...

鐵人賽 Software Development DAY 30
Hey! Go Design Patterns 系列 第 30

技術 DAY30:Strategy Pattern,選定不同的策略來執行

什麼是 Strategy Pattern? 設計相同介面但不同實作的物件,再由使用端以此介面去選擇要使用何種物件 UML 圖如下: 問題情境 假設 PS5...

鐵人賽 Software Development DAY 29
Hey! Go Design Patterns 系列 第 29

技術 DAY 29:Iterator Pattern,迭代各種不同的物件

什麼是 Iterator Pattern? 將不同資料物件透過一致的方式取得其中的元素 問題情境 string與[]string是兩種不同的資料型態,我們需...

鐵人賽 Software Development DAY 11
Hey! Go Design Patterns 系列 第 11

技術 DAY 11:Thread-Specific Storage Pattern,高併發的多重宇宙空間

什麼是 Thread-Specific Storage Pattern? 為每個 goroutine 擁有自己的儲存空間,供不同的情境識別與使用 舉例來說,...

鐵人賽 自我挑戰組 DAY 17
後端工程師與圖的修練 系列 第 17

技術 有限狀態過程 Finite State Process

有限狀態過程 (FSP, Finite State Process) 是有限狀態機的一種表達方式,本篇文章提及關於 Concurrency 透過 FSP 建模的...

鐵人賽 Software Development DAY 15
Hey! Go Design Patterns 系列 第 15

技術 DAY 15:Factory Method Pattern,把複雜的邏輯拆分至小工廠中

工廠模式主要有三種不同的實作: Simple Factory Pattern Factory Method Pattern Abstract Factory...