tag 協程

標籤
貢獻34
104
10:01 AM · Nov 03 ,2025

@協程 / 博客 RSS 訂閱

認真的紫菜 - 為什麼建議大家加快擁抱Kotlin,説點不一樣的

本文首發於公眾號“AntDream”,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點 Kotlin自2017年起被Google正式宣佈為Android的編程語言之一,隨後在2019年進一步宣佈Kotlin為Android的首選語言,普及速度逐漸加快,越來越多的公司和項目在引入Kotlin。 那Kotlin有哪些特點,為何建議大家要加快擁抱Kotlin的速度呢? 方

Kotlin , swift , 協程 , Android , 程序員

收藏 評論

蛋先生DX - 進程,線程,協程 - 你瞭解多少?

寫在最前 本故事採用簡潔明瞭的對話方式,盡洪荒之力讓你在輕鬆無負擔的氛圍中,稍微深入地理解進程、線程和協程的相關原理知識 如果你覺得自己本來就已經理解得很透徹了,那也不妨瞧一瞧,指不定有意外的收穫呢 在這個 AI 內容生成氾濫的時代,依然有一批人"傻傻"堅持原創,如果您能讀到最後,還請點贊或收藏或關注支持下我唄,感謝 ( ̄︶ ̄)↗ 進程 丹尼爾:蛋兄,我對進程、線程、協程這些概念似懂非懂的,要不咱

操作系統 , 上下文切換 , 協程 , 進程 , 線程

收藏 評論

kedixa - Coke(一):優秀的C++ Workflow支持協程啦

Coke(一):你好,世界 C++ Workflow是一款高性能的異步編程範式,自Github開源以來,已經收貨了一萬多枚Star,得到了越來越多的認可。 Coke項目是一個高性能的協程庫,基於C++ 20提供的協程組件開發,提供一組簡潔的異步接口,而其後台則是由C++ Workflow強力驅動。使用Coke可以輕鬆地創建協程任務,並通過C++ Workflow的調度器高效地調度和執行,Coke希

協程 , c++

收藏 評論

認真的紫菜 - Android面試題之Kotlin協程併發問題和互斥鎖

本文首發於公眾號“AntDream”,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點 Kotlin 語言提供了多種機制來處理併發和同步,其中包括高層次和低層次的工具。對於常規的併發任務,可以利用 Kotlin 協程提供的結構化併發方式。而對於需要更低層次的鎖定機制,可以使用 Mutex 來實現對共享資源的線程安全訪問。 Kotlin 協程與併發(Coroutine

Kotlin , 協程 , Android , 併發 , 併發編程

收藏 評論

辣碼甄源 - 騰訊開源併發協程庫:Libco

Libco:簡化併發編程,Libco讓高性能觸手可及-精選真開源,釋放新價值。 概覽 Libco是由騰訊開源的C/C++協程庫,自2013年起在微信後台服務中得到廣泛應用。它通過少量的函數接口,使得開發者能夠輕鬆地將同步的後端服務轉換為協程服務,從而實現卓越的併發性能。Libco的設計理念是讓開發者能夠以同步的方式編寫代碼,而執行時卻能以異步的方式運行,極大地簡化了併發編程的複雜性。 主要功

github , 協程 , 開源項目介紹

收藏 評論

認真的紫菜 - Kotlin協程的取消機制:深入理解和優雅實現

本文首發於公眾號“AntDream”,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點 Kotlin協程提供了一種高效的方式來處理併發和異步任務。在協程的生命週期管理中,取消協程是一項重要的操作。本文將深入探討Kotlin協程的取消機制,介紹除了直接使用Job的cancel方法之外的其他方式,並提供優雅的實現策略。 1. 協程取消的基本概念 在Kotlin協程中,取

Kotlin , 面試 , 協程 , Android , JAVA

收藏 評論

seazhan - 【手寫 RPC】手寫一個RPC框架 使用Netty + java虛擬線程

【手寫RPC框架】如何使用netty手寫一個RPC框架 結合新特性 虛擬線程 什麼是RPC框架 RPC(Remote Procedure Call)遠程過程調用,是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。RPC框架是一種遠程調用的框架,它可以讓你像調用本地方法一樣調用遠程方法。 避免了開發人員自己去封裝網絡請求、連接管理、序列化、反序列化等操作,提高了開發效率。 N

框架學習 , 協程 , rpc , JAVA

收藏 評論

快手技術 - 快手 Java 透明協程:實現零代碼修改提升 30%QPS

摘要:對於開發者而言,傳統線程模型邏輯直觀但性能受限,而異步模型雖性能高卻複雜性大。協程以“同步編程,異步執行”平衡兩者,成為現代語言標配。結合自身業務需求,快手基於社區開源版本自研了 Java17 透明協程技術,實現對業務無侵入的同時,吞吐能力提升 30%以上。本文將深入剖析快手協程技術的背後原理與架構演進。 一、協程技術的發展與挑戰 協程作為計算機領域的一項古老技術,其思想可追溯至 1963

協程 , JAVA

收藏 評論

江湖十年 - 在 Go 語言中如何實現協程池

公眾號首發:https://mp.weixin.qq.com/s/Xbk4QF7HFll102xaF5r_3Q 如果你熟悉 Java、Python 等編程語言,那麼你一定聽説或者使用過進程池或線程池。因為進程和線程不是越多越好,過多的進程或線程可能造成資源浪費和性能下降。所以池化技術在這些主流編程語言中非常流行,可以有效控制併發場景下資源使用量。 而 Go 語言則沒有提供多進程和多線程的支持,僅提

面試 , 協程 , 併發 , go , 後端

收藏 評論

mrbone11 - C++-一篇文章入門coroutines協程

前言 最近學習了一下C++協程,這篇文章將介紹協程的相關概念,以及在C++中如何使用協程。 什麼是協程 C++中,協程(coroutines)可以理解為一個可以暫停和恢復執行的函數。什麼意思呢?例如有以下協程函數: Task taskFunc() { ... co_await doSomething(); // 1 doSomething2();

c++20 , 協程 , c++

收藏 評論

Mark - 我們一起來學lua:協程(coroutine) 二

大家好,騷氣十足的額,又來了,對,今天我們主要來學習下lua協程的用法,小夥伴們準備好小板凳,準備開車了~~~(ps:好像有點偏題了,不過不重要你們當作沒看見就行(O ^ ~ ^ O)) 協程主要函數: 函數名 入參 返回值 描述 coroutine.create() 接受單個參數,這個參數是coroutine的主函數 返回

coroutine , lua , 協程

收藏 評論

快手技術 - 四年匠心磨礪,快手系統軟件技術創新與領域演進之路

一、系統軟件技術的核心價值與面臨挑戰 系統軟件作為軟件架構的基石,扮演着連接軟件與硬件的橋樑角色,位於整個軟件生態的最底層,處於關鍵核心的位置。系統軟件最為顯著的特徵在於其規模效應,隨着服務器體量的增加,系統軟件研發的價值愈發凸顯。 首先,系統軟件技術能夠顯著提升服務器資源的利用率,實現翻倍效果,同時性能也能提升 30%~50%,從而大幅降低公司的服務器資源成本。其次,專業的系統軟件團隊能夠迅速定

jvm , 協程 , 編譯器

收藏 評論

認真的紫菜 - Android面試題之Kotlin Jetpack組件LifecycleScope

本文首發於公眾號“AntDream”,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點 在Kotlin中,LifecycleScope是Android Jetpack架構組件的一部分,主要用於簡化與生命週期相關的協程管理。 它屬於androidx.lifecycle:lifecycle-runtime-ktx庫的一部分,通過結合使用 LifecycleOwne

Kotlin , jetpack , 面試 , 協程 , Android

收藏 評論

tekin - go語言控制goroutine協程退出的2種方法總結

我們知道,在go語言中,goroutine的執行會隨着main線程的退出而終結, 即如果main線程退出,則所有的goroutine都會被強制退出,不管你是否已經執行完畢。 如果我們希望main進程等待所有的goroutine執行完畢後再退出,則可以有3種方式來實現,具體如下: 1. 使用go標準庫sync中提供的 sync.WaitGroup裏面提供的Add, Done, Wait方法; pac

goroutine , 方法 , 協程 , go , 總結

收藏 評論

認真的紫菜 - Android面試題之Kotlin協程一文搞定

定義 協程基於線程,是輕量級的線程 作用 處理耗時任務,這種任務常常會阻塞主線程 保證主線程安全,即確保安全地從主線程調用任何suspend函數 特點 讓異步邏輯同步化 最核心的點就是,函數或者一段程序能夠被掛起,稍後再在掛起得位置恢復 掛起函數 使用suspend關鍵字修飾的函數 掛起函數只能在協程體內或其他掛起函數內調用 掛起和阻塞的區別 掛起不會阻塞主線程,主線程

Kotlin , 面試 , 協程 , Android

收藏 評論

飛翔荷蘭人 - 漫談協程(coroutine)

一 什麼是協程 協程現在已經不是一個新的技術了,但是由於之前一直在用較低版本的c++,沒什麼機會使用協程。最近寫了不少go的代碼,接觸到了協程,所以想從零開始學習一下協程。 1. 到底什麼是協程 之前聽説協程的時候,大家都講協程就是執行在用户態的微線程,加上go中協程的使用和線程差不多,我也就一直這樣理解了。但是真正定義協程的功能是:可以隨時的掛起和恢復,它允許多個入口點在不同的執行點掛起和恢復,

協程 , c++

收藏 評論

vistart - Golang 中使用通道構建協程間的依賴關係(工作流)

假設有一組任務有前後依賴關係,我們可以使用Go的通道特性,將前一個任務的執行結果(或結束信號)送入下一個任務,已達到自動化依次執行工作流的每個任務的目的。 為了模擬這一工作流,我們假設有五個通道和四個協程,每個協程監聽前一個通道的數據,並將接收到的數據送入下一個通道中。 當任務執行結束後,最好能夠主動回收通道,已達到節省內存開銷的目的。與執行工作流類似的是,應當能做到關閉首個通道後,按照依賴關係連

channel , 協程 , 工作流 , go

收藏 評論

vistart - Golang 中保存通道的 map 在設為 nil 後不會回收元素,即通道依然有效

Golang 中,如果用一個 map 保存實例化的通道,並用在協程間發送和接收。當該 map 被賦值為 nil 時,管理的通道依然有效。 示例代碼如下: package main import ( "fmt" "time" ) func main() { // 創建一個map用於保存通道 channelMap := make(map[string]chan in

channel , 垃圾回收 , 協程 , map , go

收藏 評論

Hunter - Python筆記四之協程

本文首發於公眾號:Hunter後端 原文鏈接:Python筆記四之協程 協程是一種運行在單線程下的併發編程模型,它的特點是能夠在一個線程內實現多個任務的併發操作,通過在執行任務時主動讓出執行權,讓其他任務繼續執行,從而實現併發。 以下所有的代碼都是在 Python 3.8 版本中運行。 本篇筆記目錄如下: asyncio async await 併發運行協程

協程 , 後端 , Python

收藏 評論

後廠村村長 - go 通道-channel、協程-routine、sync

go 通道-channel、協程-routine、sync golang 裏不需要學習如何創建維護進程池/線程池,也不需要分析什麼情況使用多線程,什麼情況使用多進程,因為你沒得選。 當然,也不需要選。 go原生的 goroutine(協程)已足夠優秀,能自動幫你處理好所有事情,而你要做的只是執行它,so easy... goroutine 也是go天生支持高併發的底氣。 g

channel , sync , 協程 , go

收藏 評論

kedixa - Coke(三):使用HttpClient的更多功能

Coke項目Github主頁。 上一篇文章通過幾個示例介紹瞭如何使用Coke便捷地發起Http請求,本文延續上一個話題,將coke::HttpClient的功能詳細地介紹一下。 在C++ Workflow中,Http任務通常通過工廠函數創建,並且可以指定重試次數等參數。而在Coke中可以通過coke::HttpClient來創建Http任務。首先介紹一下與任務相關的參數 struct HttpCl

c++20 , 協程 , c++

收藏 評論

kedixa - Coke(二):便捷地發起Http請求

Coke項目Github主頁。 在這個時間點開發本項目,有以下幾點考慮 常用的編譯器對C++ 20的支持已經逐步完善,本項目依賴於GCC = 11或Clang = 15 常用的操作系統發行版支持了新編譯器,例如CentOS Stream 8、Ubuntu 22.04、Fedora 38等 C++ Workflow使用回調函數的方式組織異步任務,一部分習慣寫同步代碼的用户可能會對此感到困擾,

c++20 , 協程 , c++

收藏 評論

冰河 - 高考成績都出來了,你的秒殺系統如何了?

大家好,我是冰河~~ 高考成績都出來了,咱的《Seckill秒殺系統》專欄如何了?今天給大家交個“期中作業”吧。 總體情況 截止到目前,秒殺系統從需求立項、架構設計、技術選型、環境搭建、編碼實現、極致緩存設計到扣減庫存防超賣設計,已經完成16個大的篇章47篇文章。 這是不是更新完了?那肯定沒啊!雖然現在的秒殺系統已經實現了最核心的功能,但是還不是我理想中的樣子,我想要大廠技術真正落地的秒殺系統。

高併發 , 協程 , 多線程 , 秒殺 , 併發編程

收藏 評論

韓天峯 - Swoole 5.1 增加更多數據庫協程客户端支持

在 5.1 版本中增加了多種數據庫協程客户端的支持,並且全部以 PDO 接口的方式提供,舊的業務代碼無需做任何更改即可一鍵切換為協程模式,異步非阻塞地併發執行。 包括: pdo_pgsql pdo_odbc pdo_sqlite pdo_oci (Oracle 數據庫) 開啓方法 增加了 4 個編譯參數和 Runtime Hook 選項,開啓這些協程客户端。 編譯選項 --with

swoole , 協程

收藏 評論