Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
そろそろSwift Concurrency
Search
[email protected]
September 07, 2022
Programming
1
530
そろそろSwift Concurrency
Talk about Swift Concurrency at TechFeed Experts Night
[email protected]
September 07, 2022
Tweet
Share
More Decks by
[email protected]
See All by
[email protected]
Swift compiler 101 & How async function works
shiz
0
37
Swiftコンパイラ超入門+async関数の仕組み
shiz
0
270
複雑さに立ち向かうための ソフトウェア開発入門
shiz
3
1.8k
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
5
14k
(非公開スライド追加)座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
shiz
1
590
複雑さに立ち向かうためのコードリーディング入門
shiz
35
14k
Swift Observation
shiz
5
840
Swift Reflection
shiz
1
250
Swift Concurrency Next Step
shiz
7
8.3k
Other Decks in Programming
See All in Programming
ご注文の差分はこちらですか? 〜 AWS CDK のいろいろな差分検出と安全なデプロイ
konokenj
4
630
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
9.1k
React は次の10年を生き残れるか:3つのトレンドから考える
oukayuka
39
14k
型で語るカタ
irof
0
760
A full stack side project webapp all in Kotlin (KotlinConf 2025)
dankim
0
150
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
0
390
構造化・自動化・ガードレール - Vibe Coding実践記 -
tonegawa07
0
120
CDK引数設計道場100本ノック
badmintoncryer
2
520
The Niche of CDK Grant オブジェクトって何者?/the-niche-of-cdk-what-isgrant-object
hassaku63
1
660
「App Intent」よくわからんけどすごい!
rinngo0302
1
120
Rails Frontend Evolution: It Was a Setup All Along
skryukov
0
310
チームのテスト力を総合的に鍛えて品質、スピード、レジリエンスを共立させる/Testing approach that improves quality, speed, and resilience
goyoki
5
1.2k
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
Optimizing for Happiness
mojombo
379
70k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
How to Ace a Technical Interview
jacobian
278
23k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Statistics for Hackers
jakevdp
799
220k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
RailsConf 2023
tenderlove
30
1.2k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Transcript
TIJ[ 5FDI'FFE&YQFSUT/JHIU ͦΖͦΖ4XJGU$PODVSSFODZ
4XJGUݴޠΨΠυຊޠ൛ TXJGUPSH 4XJGUʹ͍ͭͯهࡌ ໊લTIJ[ ͣ͠ J04ΤϯδχΞJOԬ !TU[O
4XJGU$PODVSSFODZ w 4XJGUͰొͨ͠ݴޠػೳ w ඇಉظॲཧΛಉظॲཧͱಉ͡Α͏ͳܗͰѻ͑Δ "TZODBXBJU w ෳͷඇಉظॲཧΛߏԽͯ͠ಉ࣌ฒྻʹ࣮ߦͰ͖Δ 4USVDUVSFE$PODVSSFODZ
w ϚϧνεϨουؒͰͷσʔλڝ߹Λ͛Δ "DUPS
4XJGU$PODVSSFODZͷͭͷجຊػೳ w "TZODBXBJU w 4USVDUVSFEDPODVSSFODZ w "DUPS
"TZODBXBJU "TZODBXBJU
"TZODBXBJUͱʁ w ಉ࣌ฒߦॲཧͷϒϩοΫΛߏங͢Δ w ϒϩοΫ෦ͰॲཧΛதஅͯ͠ผͷඇಉظॲཧΛݺͼग़͢͜ͱ ͕Ͱ͖Δ w ͦΕ·Ͱͷ࣮ߦεϨουΛҰख์͠ɺͦͷεϨουଞͷ ॲཧΛ࣮ߦͰ͖Δ w
ݺͼग़ͨ͠ඇಉظॲཧͷ݁ՌΛػ͔ͯ͠ΒॲཧΛ࠶։͢Δ "TZODBXBJU"TZODBXBJUͱʁ
BTZOD ݺͼग़͠ ਤͰݟΔ"TZODBXBJU "TZODBXBJU εϨου
BTZOD BXBJU BTZOD ݁ՌΛػ ਤͰݟΔ"TZODBXBJU "TZODBXBJU
ଞͷॲཧΛ࣮ߦͰ͖Δ BTZOD BXBJU தஅ BTZOD ݁ՌΛػ ਤͰݟΔ"TZODBXBJU "TZODBXBJU
BTZOD BTZOD BXBJU ݁ՌΛऔಘ BTZOD ࠶։ ਤͰݟΔ"TZODBXBJU "TZODBXBJU
࠶։લͱಉ͡εϨουͱݶΒͳ͍ BTZOD BXBJU BTZOD 㱠 ࠶։ ਤͰݟΔ"TZODBXBJU "TZODBXBJU
ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU ίʔϧόοΫܗࣜ
ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU
ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU
"TZODBXBJU ίʔυͰݟΔ"TZODBXBJU
ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU
ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU
ࣗવͳྲྀΕ ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU
ࣗવͳྲྀΕ BTZODɺBXBJU͕ͳ͍ͱίϯύΠϧΤϥʔ ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU
ؔͷείʔϓΛൈ͚ͨޙʹ࣮ߦ͞ΕΔ ࣗવͳྲྀΕ BTZODɺBXBJU͕ͳ͍ͱίϯύΠϧΤϥʔ ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU
ؔͷείʔϓΛൈ͚ͨޙʹ࣮ߦ͞ΕΔ ؔͷείʔϓͰͯ݁͢͢Δ ࣗવͳྲྀΕ BTZODɺBXBJU͕ͳ͍ͱίϯύΠϧΤϥʔ ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU
ؔͷείʔϓΛൈ͚ͨޙʹ࣮ߦ͞ΕΔ ؔͷείʔϓͰͯ݁͢͢Δ ࣗવͳྲྀΕ BTZODɺBXBJU͕ͳ͍ͱίϯύΠϧΤϥʔ Γ௨ৗͷܕ ίʔυͰݟΔ"TZODBXBJU "TZODBXBJU
4USVDUVSFE DPODVSSFODZ 4USVDUVSFEDPODVSSFODZ
5BTL w 4XJGU$PODVSSFODZͷॲཧͷجຊ୯Ґ w 5BTL୯ҐͰ࣮ߦঢ়گؔ࿈σʔλΛཧ ϩʔΧϧมɺΩϟϯηϧॲཧɺBTZODίʔυͷ։࢝தஅͳͲ BTZOD BXBJU BTZOD
5BTL BTZOD BXBJU BTZOD 5BTL BTZOD BXBJU BTZOD 5BTL 4USVDUVSFEDPODVSSFODZ5BTL
4USVDUVSFEDPODVSSFODZͱʁ w BTZODBXBJUΛͬͯෳͷॲཧΛಉ࣌ฒྻʹ࣮ߦ͢Δ w 5BTLؒͰ֊ߏΛߏஙͯ͠ɺඇಉظॲཧͷػΩϟϯη ϧॲཧͳͲΛ͜ͷ֊Ͱͯ݁ͤ͢͞Δ BTZOD 5BTL BTZOD 5BTL
5BTL 4USVDUVSFEDPODVSSFODZ4USVDUVSFEDPODVSSFODZͱʁ
BTZODMFU 63-4FTTJPOEBUBϝιου IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOGPVOEBUJPOVSMTFTTJPOEBUB 4USVDUVSFEDPODVSSFODZBTZODMFU
BTZODMFU BTZODMFUͷӈลʹBXBJUΛ͚ͳ͍߹݁ՌΛػ͠ͳ͍ BXBJU 4USVDUVSFEDPODVSSFODZBTZODMFU
BTZODMFU 4USVDUVSFEDPODVSSFODZBTZODMFU
BTZODMFU USZBXBJUͰ݁ՌΛػ 4USVDUVSFEDPODVSSFODZBTZODMFU
BTZODMFU BTZODMFUͷݺͼग़͠ݩλεΫ BTZODMFU͔Β࡞͞ΕͨλεΫࢠλεΫ ࢠλεΫ͕શ෦ྃ͢Δ·ͰλεΫྃ͠ͳ͍ 4USVDUVSFEDPODVSSFODZBTZODMFU λεΫΛΩϟϯηϧ͢ΔͱࢠλεΫΩϟϯηϧঢ়ଶʹͳΔ ʜͳͲ
֎ଆͷ5BTL͔Βಠཱͨ͠5BTLΛ࡞ 6OTUSVDUVSFEDPODVSSFODZ w पΓͷ5BTL͔Βಠཱͨ͠5BTLΛੜ͢Δ w ݁ՌͷػΩϟϯηϧखಈͰ࣮ߦ͢Δඞཁ͕͋Δ w 5BTLJOJUͱ5BTLEFUBDIFE͕͋Δ ಠཱͷ߹͍͕ҟͳΔ BTZOD
5BTL BTZOD 5BTL 5BTL 4USVDUVSFEDPODVSSFODZ6OTUSVDUVSFEDPODVSSFODZ
"DUPS "DUPS
"DUPSͱʁ w Ұʹͭͷ5BTLͷΈ͕෦ঢ়ଶΛૢ࡞Ͱ͖ΔΑ͏ʹͯ͠ɺෳε Ϩου͔Βͷಉ࣌ಡΈॻ͖ʹΑΔσʔλڝ߹Λ͙ BTZOD 5BTL BDUPS 5BTL 5BTL BTZOD
BTZOD σʔλڝ߹ෳεϨου͔Βಉ͡σʔλಡΈॻ͖Λಉ࣌ʹߦͬͨ݁Ռɺෆਖ਼ͳΛऔಘ͠ ͯ͠·ͬͨΓɺΫϥογϡ͢ΔՄೳੑͷ͋Δঢ়ଶ "DUPS"DUPSͱʁ
DMBTTͰσʔλڝ߹͕ൃੜ͢Δ 4XJGUͷDMBTTࢀরܕ ෦ঢ়ଶෳεϨουʹڞ༗͞ΕΔՄೳੑ͕͋Δ "DUPSσʔλڝ߹
DMBTTͰσʔλڝ߹͕ൃੜ͢Δ λΠϛϯά࣍ୈͰظ͠ͳ͍݁ՌʹͳΔ ग़ྗ݁Ռ
˞5BTLEFUBDIFEͰಠཱͨ͠λεΫΛ࡞͢Δ "DUPSσʔλڝ߹
"DUPSͩͱσʔλڝ߹͕ൃੜ͠ͳ͍ "DUPSσʔλڝ߹
"DUPSͩͱσʔλڝ߹͕ൃੜ͠ͳ͍ ݁Ռৗʹظ௨Γ ग़ྗ݁Ռ "DUPSσʔλڝ߹
"DUPSͷੑ࣭ ෦ঢ়ଶ"DUPSͰकΒΕ͍ͯΔ 📬 🤏 ✉ ✉ ✉ w ҰʹҰͭͷλεΫͷΈ࣮ߦ͢Δ w
"DUPSͦΕͧΕ֎ͷੈք͔Βִ͞Ε͍ͯΔ "DUPS֎ "DUPS "DUPS"DUPSͷੑ࣭
"DUPSؒͷભҠͷίετ "DUPS "DUPS w "DUPSؒͷભҠʹίετ͕͔͔Δ "DUPSҙ 💸
7JFX.BJO"DUPS BDUPS .BJO"DUPS 7JFX 7JFX.PEFM ❌ w 7JFX.PEFMΛBDUPSʹ͢Δͱ"DUPSؒͰͷεΠον͕ൃੜ͢Δ "DUPSҙ 💸
7JFX.PEFMΛ.BJO"DUPSʹ͢Δ w ಉ͡"DUPSͷॲཧʹͳΔ !.BJO"DUPSDMBTT .BJO"DUPS 7JFX 7JFX.PEFM ⭕ "DUPSҙ 🪙
4XJGU$PODVSSFODZ w "TZODBXBJU w 4USVDUVSFEDPODVSSFODZ w "DUPS
͋Γ͕ͱ͏͍͟͝·ͨ͠
ೖʹ͓͢͢Ί88%$ηογϣϯ w 4XJGU$PODVSSFODZղઆηογϣϯ .FFUBTZODBXBJUJO4XJGU🌟Ұ൪࠷ॳʹݟΔͷʹ͓͢͢Ί &YQMPSFTUSVDUVSFEDPODVSSFODZJO4XJGU 1SPUFDUNVUBCMFTUBUFXJUI4XJGUBDUPST w
ΑΓ෦ͷΈΛΔηογϣϯ 4XJGUDPODVSSFODZ#FIJOEUIFTDFOFT w ҰॹʹαϯϓϧΛϦϑΝΫλϦϯά͠ͳ͕ΒֶΔηογϣϯ 4XJGUDPODVSSFODZ6QEBUFBTBNQMFBQQ🌟طଘίʔυ͔ΒͷมΛҰาҰาֶΔ w ଞͷ'SBNFXPSLͱͷ࿈ܞํ๏ΛΔηογϣϯ #SJOH$PSF%BUBDPODVSSFODZUP4XJGUBOE4XJGU6* %JTDPWFSDPODVSSFODZJO4XJGU6* .BLFCMB[JOHGBTUMJTUTBOEDPMMFDUJPOWJFXT 6**NBHFͷ/FX"1*