Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Swift Concurrency Next Step

Swift Concurrency Next Step

Talk about Swift Concurrency in iOSDC Japan 2022

[email protected]

September 11, 2022
Tweet

Other Decks in Programming

Transcript

  1. "TZODBXBJUͱ͸ʁ w ಉ࣌ฒߦॲཧͷجຊϒϩοΫΛߏங͢Δ w ಺෦ͰBTZODίʔυΛݺͼग़ͯ͠ɺ݁ՌΛऔಘޙʹଓ͖ͷॲཧ Λ࣮ߦͰ͖Δ ଞͷ5BTLΛ࣮ߦͰ͖Δ BTZOD BTZOD BXBJU

    BTZOD தஅ ݁ՌΛ଴ػऔಘ ࠶։ ݺͼग़͠ ࠶։લͱಉ͡εϨουͱ͸ݶΒͳ͍ 㱠 4XJGU$PODVSSFODZͷ͓͞Β͍"TZODBXBJU"TZODBXBJUͱ͸ʁ
  2. "DUPSͱ͸ʁ w ಉ࣌ฒߦॲཧ࣌ͷσʔλڝ߹ ˞ Λ๷͙ BTZOD 5BTL "DUPS 5BTL 5BTL

    BTZOD BTZOD ˞ ෳ਺ͷεϨου͔Βಉ͡σʔλ΁ಡΈॻ͖Λಉ࣌ʹߦͬͨ݁Ռɺ ෆ੔߹ͳ஋Λऔಘͨ͠Γɺ࠷ѱΫϥογϡ͢ΔՄೳੑͷ͋Δঢ়ଶ 4XJGUͷσʔλڝ߹࣌ͷڍಈ͸ෆఆ IUUQTGPSVNTTXJGUPSHUSBDFDPOEJUJPOCFIBWJPST 4XJGU$PODVSSFODZͷ͓͞Β͍"DUPSͱ͸ʁ
  3. "DUPSͷಛ௃ ಺෦ঢ়ଶ͸"DUPSͰकΒΕ͍ͯΔ 📬 🤏 ✉ ✉ ✉ w Ұ౓ʹҰͭͷλεΫͷΈ࣮ߦ͢Δ w

    "DUPS͸ͦΕͧΕ֎ͷੈք͔Βִ཭͞Ε͍ͯΔ "DUPS֎ "DUPS಺ 4XJGU$PODVSSFODZͷ͓͞Β͍"DUPSͷಛ௃
  4. $MPDL *OTUBOU1SPUPDPM %VSBUJPO1SPUPDPM w ࣌ؒ΍࣌ܭͷ֓೦Λද͢৽͍͠1SPUPDPM܈ w 5BTLTMFFQͷ"1*͕มߋ TMFFQ OBOPTFDPOET ͸EFQSFDBUFE

     w 1SPUPDPMʹ४ڌͯ͠ಠࣗͷܕΛ࡞੒Ͱ͖Δ ࢀߟྫ  w Α͘࢖ΘΕΔ΋ͷ͸༻ҙࡁ $POUJOVPVT$MPDL 4VTQFOEJOH$MPDL  w 04όʔδϣϯґଘ NBD04 J04 XBUDI04 UW04  IUUQTHJUIVCDPNBQQMFTXJGUFWPMVUJPOCMPCNBJOQSPQPTBMTDMPDLJOTUBOUEVSBUJPONE ࠷ۙͷΞοϓσʔτ$MPDL *OTUBOU BOE%VSBUJPO
  5. 4USJDU$PODVSSFODZ$IFDLJOHͱ͸ʁ w 4FOEBCMFνΣοΫΛஈ֊తʹಋೖ͢ΔͨΊͷπʔϧ Ҏલ͸ XBSODPODVSSFODZͱ͍͏ϑϥάΛ࢖͍ͬͯͨ  w কདྷΤϥʔʹͳΔίʔυΛϫʔχϯάͱͯ͠ݕ஌ w .JOJNBM

    5BSHFUFE $PNQMFUFͷஈ֊ d9DPEF9 9DPEFd ࠷ۙͷΞοϓσʔτ4USJDU$PODVSSFODZ$IFDLJOH4USJDU$PODVSSFODZ$IFDLJOHͱ͸
  6. ͭͷϞʔυ w .JOJNBMϞʔυ 
 4FOEBCMFʹ໌ࣔతʹ४ڌ͞Ε͍ͯΔՕॴ΁4FOEBCMF੍໿Λద༻͠ɺ $PODVSSFODZ࢖༻ՕॴͰ"DUPSJTPMBUJPOνΣοΫ ˞ Λߦ͏ w 5BSHFUFEϞʔυ

    
 4FOEBCMF੍໿Λద༻͠ɺ4FOEBCMFʹ໌ࣔతʹ४ڌͨ͠ܕΛؚΊ$PODVSSFODZ࢖ ༻ՕॴͰ"DUPSJTPMBUJPOνΣοΫΛߦ͏ w $PNQMFUFϞʔυ 
 ϞδϡʔϧશମͰ4FOEBCMF੍໿ͱ"DUPSJTPMBUJPOνΣοΫΛߦ͏ ˞"DUPSͷ಺෦ঢ়ଶʹσʔλڝ߹͕ى͖Δ͜ͱΛ๷͙ͨΊͷνΣοΫ ࠷ۙͷΞοϓσʔτ4USJDU$PODVSSFODZ$IFDLJOHͭͷϞʔυ
  7. औΓ্͛Δ಺༰ w Α͘ى͜Δͭͷ໰୊ .BJO"DUPSϒϩοΩϯάɺ"DUPSڝ߹ɺڠௐε Ϩουϓʔϧͷރׇɺ$POUJOVBUJPOͷޡ༻  w "DUPSͱϦΤϯτϥϯτ w "DUPSͷॲཧͷ࣮ߦॱং

    w ڠௐΩϟϯηϧ w 5BTLߏ଄ମͱϝϞϦ؅ཧ w .BJO"DUPSSVOͱ5BTL\!.BJO"DUPS^ͷҧ͍ w ˏ4FOEBCMFΫϩʔδϟͷޡղ ࣮૷্ͷ஫ҙ఺
  8. ղܾࡦ w "DUPS্Ͱຊ౰ʹඞཁͳॲཧ͸Կ͔Λ࠶ݕ౼͠ɺ"DUPS্Ͱͷ ॲཧΛݮΒ͢ " " " # # #

    $ $ $ " # $ "DUPS ࣮૷্ͷ஫ҙ఺Α͘ى͜Δͭͷ໰୊"DUPSڝ߹ղܾࡦ
  9. ҆શͳ΋ͷةݥͳ΋ͷ IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED BXBJU "DUPST 5BTLHSPVQT PT@VOGBJS@MPDL /4-PDL JOಉظίʔυ %JTQBUDI4FNBQIPSF QUISFBE@DPOE@/4$POEJUJPO

    QUISFBE@SX@MPDL ଞ ίϯύΠϥνΣοΫ⭕ ίϯύΠϥνΣοΫ❌ ίϯύΠϥνΣοΫ❌ 􀁢 ҆શ 􀁞 ஫ҙ 􀁠 ةݥ ࣮૷্ͷ஫ҙ఺Α͘ى͜Δͭͷ໰୊ڠௐεϨουϓʔϧͷރׇલఏ஌ࣝ
  10. BXBJU "DUPST 5BTLHSPVQT PT@VOGBJS@MPDL /4-PDL JOಉظίʔυ %JTQBUDI4FNBQIPSF QUISFBE@DPOE@/4$POEJUJPO QUISFBE@SX@MPDL ଞ

    ίϯύΠϥνΣοΫ⭕ ίϯύΠϥνΣοΫ❌ ίϯύΠϥνΣοΫ❌ 􀁢 ҆શ 􀁞 ஫ҙ 􀁠 ةݥ ҆શͳ΋ͷةݥͳ΋ͷ IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED ίϯύΠϥʹΑΔอূ ࣮૷্ͷ஫ҙ఺Α͘ى͜Δͭͷ໰୊ڠௐεϨουϓʔϧͷރׇલఏ஌ࣝ
  11. BXBJU "DUPST 5BTLHSPVQT PT@VOGBJS@MPDL /4-PDL JOಉظίʔυ %JTQBUDI4FNBQIPSF QUISFBE@DPOE@/4$POEJUJPO QUISFBE@SX@MPDL ଞ

    ίϯύΠϥνΣοΫ⭕ ίϯύΠϥνΣοΫ❌ ίϯύΠϥνΣοΫ❌ 􀁢 ҆શ 􀁞 ஫ҙ 􀁠 ةݥ ҆શͳ΋ͷةݥͳ΋ͷ IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED ਖ਼͘͠࢖͑͹҆શ ίϯύΠϥͷอূͳ͠ ࣮૷্ͷ஫ҙ఺Α͘ى͜Δͭͷ໰୊ڠௐεϨουϓʔϧͷރׇલఏ஌ࣝ
  12. BXBJU "DUPST 5BTLHSPVQT PT@VOGBJS@MPDL /4-PDL JOಉظίʔυ %JTQBUDI4FNBQIPSF QUISFBE@DPOE@/4$POEJUJPO QUISFBE@SX@MPDL ଞ

    ίϯύΠϥνΣοΫ⭕ ίϯύΠϥνΣοΫ❌ ίϯύΠϥνΣοΫ❌ 􀁢 ҆શ 􀁞 ஫ҙ 􀁠 ةݥ ҆શͳ΋ͷةݥͳ΋ͷ IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED εϨουؒͷґଘؔ܎͕ݟ͑ͳ͍ ίϯύΠϥͷอূͳ͠ ࣮૷্ͷ஫ҙ఺Α͘ى͜Δͭͷ໰୊ڠௐεϨουϓʔϧͷރׇલఏ஌ࣝ
  13. ࣮૷্ͷ஫ҙ఺ w Α͘ى͜Δͭͷ໰୊ .BJO"DUPSϒϩοΩϯάɺ"DUPSڝ߹ɺڠௐε Ϩουϓʔϧͷރׇɺ$POUJOVBUJPOͷޡ༻  w "DUPSͱϦΤϯτϥϯτ w "DUPSͷॲཧͷ࣮ߦॱং

    w ڠௐΩϟϯηϧ w 5BTLߏ଄ମͱϝϞϦ؅ཧ w .BJO"DUPSSVOͱ5BTL\!.BJO"DUPS^ͷҧ͍ w ˏ4FOEBCMFΫϩʔδϟͷޡղ ࣮૷্ͷ஫ҙ఺