Strict Concurrencyにしたらdeinitでクラッシュする話
by
Shetommy
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
4USJDU$PODVSSFODZʹͨ͠Β EFJOJU で Ϋϥογϡ͢Δ 💥
Slide 2
Slide 2 text
࣯ ͠ͱΈ w ݱࡏࣾͰۈ w ࠷͍ۙ͢͝ͱࢥͬͨΞϓϦ:"."1 IUUQTXXXTIFUPNNZDPN 2
Slide 3
Slide 3 text
3 5-%3
Slide 4
Slide 4 text
4 4XJGUY4USJDU$PODVSSFODZͰ EFJOJUʹTFMGͷΩϟϓνϟ͕ ೖͬͯΔͱ💥Ϋϥογϡ͠·͢
Slide 5
Slide 5 text
5 ؾΛ͚ͭ·͠ΐ͏
Slide 6
Slide 6 text
6 ͋Γ͕ͱ͏͍͟͝·ͨ͠
Slide 7
Slide 7 text
7 ࣌ؒ༨ͬͨͷͰ͏গ͠͠·͢
Slide 8
Slide 8 text
8 4USJDU$PODVSSFODZ
Slide 9
Slide 9 text
9
Slide 10
Slide 10 text
10
Slide 11
Slide 11 text
11 .BJO"DUPS͡Όͳ͍ͱ ౖΒΕͯΔ͔Β .BJO"DUPSʹ͠Α͏
Slide 12
Slide 12 text
12 ˞9DPEFͷલϫʔχϯάग़ͳ͔ͬͨʁ
Slide 13
Slide 13 text
13 ࣮ߦ
Slide 14
Slide 14 text
14 💥
Slide 15
Slide 15 text
15 ղઆʂ
Slide 16
Slide 16 text
16 .BJO"DUPS
Slide 17
Slide 17 text
17 .BJO"DUPS /POJTPMBUFE
Slide 18
Slide 18 text
18 1. Non-isolated 2. Isolated to an actor value 3. Isolated to a global actor https://www.swift.org/migration/documentation/swift-6-concurrency-migration-guide/dataracesafety#Isolation-Domains
Slide 19
Slide 19 text
19 1. ΞΫλʔִͳ͠ 2. ΧελϜΞΫλʔ 3. άϩʔόϧΞΫλʔ https://www.swift.org/migration/documentation/swift-6-concurrency-migration-guide/dataracesafety#Isolation-Domains
Slide 20
Slide 20 text
20
Slide 21
Slide 21 text
21
Slide 22
Slide 22 text
22 ͳͷͰ🆖
Slide 23
Slide 23 text
23 ͜Εʁ
Slide 24
Slide 24 text
24 TFMGͷԆ໋࣮ߦ࣌Ϋϥογϡ https://www.swift.org/migration/documentation/swift-6-concurrency-migration-guide/commonproblems#Non-Isolated-Deinitialization
Slide 25
Slide 25 text
25 ɾݩʑEFJOJUTFMGͷࢀরϦεΫ͕͋ͬͨ ɾTFMGͷࢀরΧϯτ͕ʹͳͬͨͱ͖ ݺΕΔͷ͕EFJOJU ɾEFJOJUͷதͰߋʹTFMGΛࢀরͯ͠ɺ ࢀরΧϯτͱͳΔ ɾͳͷʹίϯύΠϥͷܯࠂ͕ͳ͔ͬͨ
Slide 26
Slide 26 text
26 ରࡦ
Slide 27
Slide 27 text
27 https://www.swift.org/migration/documentation/swift-6-concurrency-migration-guide/commonproblems#Non-Isolated-Deinitialization
Slide 28
Slide 28 text
28 ɾEFJOJUͷॲཧಉظతʹߦΘͳͯ͘ྑ͍έʔε͕΄ͱΜͲ ɾඇߏԽλεΫΛִͬͯ͞ΕͨσʔλΛѻ͏ ɾؒҧͬͯTFMGΩϟϓνϟ͠ͳ͍ʂ
Slide 29
Slide 29 text
29 EFJOJUͰߦ͍ͬͯͨॲཧ 7JFX$POUSPMMFSͷࢠؔղআ /PUJ fi DBUJPO$FOUFSͷSFNPWF0CTFSWFS
Slide 30
Slide 30 text
30 TFMG৮Βͳ͍ͱॲཧͰ͖ͳ͍
Slide 31
Slide 31 text
31 😇
Slide 32
Slide 32 text
32 ˞࣮/PUJ fi DBUJPO$FOUFSʹରॲͰ͖ͯ·͕͢ɺ ࢠ7JFX$POUSPMMFSͷѻ͍Ͱຊʹࠔͬͯ·͢ ͍͍ํ๏ͬͯΔํ͍ͨΒڭ͍͑ͯͩ͘͞ 5BTLͰอ࣋ͯ͠ɺEFJOJUதͰDBODFM
Slide 33
Slide 33 text
33 ͋Γ͕ͱ͏͍͟͝·ͨ͠