Task

Youn·2022년 6월 3일
0

iOS-Swift

목록 보기
8/11

Task

  • Task : 비동기적으로 실행할 수있는 작업 단위
  • 동시(Concurrent)에 실행할 수 있는 새로운 비동기 컨텍스트 제공
    💡동시성 = 비동기 + 병렬
  • Task 인스턴스 생성시 해당 Task 가 수행할 작업을 포함하는 클로저 함께 제공
  • 생성과 동시에 실행됨
  • Task Group 을 만들어서 하위 작업을 추가하는 형식.
func getUser() async -> Data {
	/// get user data
}

func process() async {
   let userData = await getUser()
   let contents = await decode(data: userData)
   print(contents)
}
 

 Task {
     await self.process() // <!doctype html>~~~~
 }
  • async/ await 을 쓰면 가장 바깥은 Task{} 로 감싸야 함
  • Task 내 /외 는 별개의 스레드로 동작하며 Task 내에서는 순차적으로 코드가 실행됨
  • =>sync code block 내에서 async 코드를 실행할 수 있게 함

출처
https://inuplace.tistory.com/1125

profile
youn

0개의 댓글