- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
드럼치는 프로그래머
[시스템프로그래밍] I/O에서 동기적,비동기적,블록킹이란? 본문
I/O에서 동기적,비동기적,블록킹이란 무엇인지 가르쳐 주세요. |
|
---|
안녕하세요.
마찬가지로 I/O를 공부하던중 동기적,비동기적,블록킹이 무엇인지 정확하게
확립하고 싶어 이렇게 글을 남깁니다.
좋은 하루 되세요.
re: I/O에서 동기적,비동기적,블록킹이란 |
|
---|
데이터의 읽기를 예로 들면..
"읽기 요청"과 "실제로 데이터를 가져올 수 있는 순간"의 일치 정도에 따라
동기적, 비동기적으로 나뉩니다.
[읽는 측]
1. 데이터 읽기 요청
2. 함수 호출한 상태에서 대기
3. 반환되면서 파라미터에 데이터가 전달됨
이렇게 읽기 요청과 동시에 그 호출한 자리에서 멈춘 걸로 생각하면 이해가 쉽겠죠.
이게 "동기(synchronous)" 입니다.
이렇게 하지 않고 "요청만 보내고", "읽은 데이터가 준비됐다"는 신호를 받아서 하는 것이
비동기화 입니다.
즉, 이벤트 처리기 같은 것을 두고, "읽기 요청에 대한 처리 완료" 신호가 오면,
다른 데서 데이터를 가져오거나 하는 처리를 하는 것이 되죠.
작성은 동기 쪽이 쉽죠. 그냥 일반적인 "순차 실행"으로 생각하면 되니깐요.
비동기가 짜기가 번거롭고 예외 처리도 번거롭지만 효율성은 더 좋습니다.
동기화 시켜서 "완료될 때까지 기다리는 상태"를 블록킹(blocking) 이라고 합니다.
비동기의 경우 함수 호출을 하면 바로 다음 것을 수행하고, 처리 완료 이벤트가 올 때
처리를 해주는 식이니 넌-블록킹(non-blocking) 이라고 하구요.
[출처] http://kin.naver.com/detail/detail.php?d1id=1&dir_id=10106&docid=6253857&qb=64+Z6riw7KCBIOu5hOuPmeq4sOyggQ==&enc=utf8
'★─Multi Media > ☆─3학년 2학기' 카테고리의 다른 글
[과학과기술의역사] 1-1 우주와 나 (0) | 2009.11.16 |
---|---|
[소프트웨어공학] Pert 기법 (0) | 2009.11.16 |
[시스템프로그래밍] 3.8 프로세스 체인 구현 ( 레포트 제출용 ) (0) | 2009.10.12 |
[시스템프로그래밍] 3.8 프로세스 체인 구현 (0) | 2009.10.12 |
[시스템프로그래밍] [프로그램 3.1 3.2] 프로세스 체인, 프로세스 팬 (0) | 2009.10.09 |