일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 오준석의생존코딩
- 모두의연구소
- 오름캠프
- 오준석의 생존코딩
- ㅇ
- 모두연구소
- 오존석의 생존코딩
- 오름캠프플러터
- 패스트 캠퍼스
- 플러터
- 생존코딩
- 모두의연구소 오준석생존코딩 오름캠프
- 모두의 연구소 # 오준석의생존코딩# 오름캠프
- #패스트캠퍼스 #내일배움카드 #국비지원 #K디지털기초역량훈련 #바이트디그리 #자바인강
- Tag #패스트캠퍼스 #내일배움카드 #국비지원 #K디지털기초역량훈련 #바이트디그리 #자바인강
- Today
- Total
꾸준히 하고싶은 개발자
13일비동기 동기 본문
비동기 동기
동기(synchronous)
동기 는 코드 위에서 아래 순서 대로 실행 된다.
커피숍에서 주문이 끝날때 까지 결제 작업 과 커피 수령 하는 작업은 실행 되지 않습니다.
sync 타이밍을 맞춘다.(동영상 싱크 맞춘다)
순서대로 작동한다.
비동기 (asynchronous)
비동기는 일을 하는 동안 다른 작업을 할 수있습니다.
커피숍에서 주문 작업 후에 결제 작업한후 를 하고 진동벨 받아서 각자리에서 원하는 일(핸드폰 보다가) 진동벨이 울리면 픽업 받는곳에서 커피를 받는다.
사용하는이유
네트워크 파일 읽기 오래걸린 작업 등 비동기 에 처리한다.
비동기로 하는 효율적이지만 개발하는 개발자를위해서 동기로 작업하겠다.
콜백 함수
callback : call (요청하다 + back뒤로 ) 요청한걸 되돌리다.
콜백 왜사용하는가?
비동기를 처리하기위해서 예를 들어 커피숍에서 주문 결제하고 바리스타 커피를 다 만들면 진동벨 울려서 고객들에게 커피 제공 하기위서 결과(커피) 알려주는것이 콜백이라고 생각한다.
함수는 비동기 작업을 수행하고 작업이 완료된 후에 결과를 처리하기 위해서 콜백 함수를 사용하며
콜백함수는 인자로 잔달해 비동기 작업이 완료 되면 콜백 함수를 호출합니다.
단점
콜백 지옥 .than 지옥
가독성이 떨어지지만 단 순서 보장 된다.
Future
Future 미래 어원
생각해보면 Future 미래에서 받아올 값을 나중에 값이 오면 그값을 받겠다.
Future 제공하는 메서드
async
비동기를 하기위해서 Future 와 async 는 한쌍이다
함수나 메소드의 선언 앞에 붙여서 이함수가 비동기임을 알려줄 수있다
await
await는 작업 이 완료 될떄 까지 대기 하겠다.
마라톤 선수 혼자만 달려가는 게 아니라 마라톤에 페이스메이커 와 선수가 같이 뛰겠다.
than()
콜백함수 중에 하나다 promise 와 같다.
Future 완료 가 되면 특정 작업을 수행 하도록 지정 하며 함수와 인수를 받는다.
catch error
비동기 작업 중에 발생한 오류를 처리하는 메서드 중 하나다
try catch를 에서 오류처리 하는 부분하고 같다라고 생각한다.
whenComplete
than() 메서드와 달리 성공 또는 실패 여부와 관계없이 항상 실행됩니다.
병렬처리
일이 전체다 끝날때 까지 기달렸다가 수행한다.
느낀점
처음 비동기를 너무 어렵다 막막하다 어떻게 해야되지 마치 퍼즐 조각 같다 병렬처리는 아직 이해가 안된다.
'모두의연구소' 카테고리의 다른 글
15일차 DTO (0) | 2023.12.15 |
---|---|
14일 네트워크 통신 (0) | 2023.12.14 |
12일디버깅 (0) | 2023.12.12 |
12람다함수 (0) | 2023.12.12 |
11일 직렬화 역직렬화 (1) | 2023.12.11 |