Page 13 -
P. 13

이  그 림 에 서  프 로 그 램 은  프 로 세 스  1 을  블 로 킹  호 출 합 니 다.  즉,  프 로 그 램 은  프 로 세 스  1 이  호 출 자
                        ( 프 로 그 램) 에 게  제 어 권 을  반 환 할  때 까 지  기 다 려 야  프 로 세 스 2 를  진 행 할  수  있 다 는  뜻 입 니 다.  이 러

                        한  시 스 템 은  키 오 스 크 나  단 순  단 말 기 에 는  적 합 하 지 만,  브 라 우 저  UI 에 서 는  이  방 식 으 로  구 현 해 서  1
                        는  안  됩 니 다.  끔 찍 한  사 용 자  경 험 (U X )뿐 만  아 니 라  일 정  시 간  동 안  활 동 이  없 으 면  스 크 립 트 가  응  반
                                                                                                          응
                        답 하 지   않 는 다 고   여 기 고   브 라 우 저 가   스 크 립 트 를   종 료 할   수 도   있 습 니 다.   다 음 은   애 플 리 케 이 션 을   형
                                                                                                          으
                                                                                                          로
                        블 로 킹 하 고  서 버 가  응 답 하 기 를  기 다 리 는  H T T P   호 출 을  만 드 는  예 제 입 니 다.          생
                                                                                                          각
                                                                                                          하
                                                                                                          기
                          l e t   i t e m s   =   b l o c k i n g H t t p C a l l ( ' / d a t a ' ) ;    서 버  측  데 이 터 를  동 기 로  로 드 하 면  프 로 그 램  실 행 이  멈 추 게  됩 니 다.
                                                            여 기 서  사 용 된  데 이 터 의  특 성 은  중 요 하 지  않 습 니 다.  실 행 된  애 플 리
                          i t e m s . f o r E a c h ( i t e m   = >   {    케 이 션 과  관 련 된  일 반 적 인  예 제  데 이 터 라 고  보 면  됩 니 다.
                              / /   각   항 목   처 리
                          } ) ;

                        이 보 다  나 은  방 법 은  H T T P   호 출 을  실 행 하 고  응 답 을  기 다 리 는  동 안  다 른  작 업 을  수 행 하 는  겁 니 다.
                        그 런 데  이  장 기  실 행  작 업 만  문 제 인  것 은  아 닙 니 다.  앞 서  말 했 듯 이  마 우 스 를  움 직 이 면  매 우  빠 르
                        고  세 밀 한  이 벤 트 가  빠 르 게  연 속 적 으 로  생 성 됩 니 다.  각 각 의  이 벤 트 들 을  동 기 로  처 리 한 다 면  대 기

                        시 간 이  길 든  수 백  가 지  작 은  대 기  작 업 을  빠 르 게  처 리 하 든  결 국 은  전 체  애 플 리 케 이 션 은  응 답 하 지
                        못 하 게  될  겁 니 다.  그 렇 다 면  이 러 한  문 제 를  논 블 로 킹  방 식 으 로  어 떻 게  해 결 할  수  있 을 까 요 ?  다 행
                        히 도  자 바 스 크 립 트 는  콜 백  함 수 를  제 공 합 니 다.




                        1 .1 .2   콜 백  함 수 와  논 블 로 킹  코 드



                        오 랫 동 안  자 바 스 크 립 트  개 발 에 서 는  함 수 를  콜 백 으 로  사 용 해 왔 습 니 다.  마 우 스  클 릭 과  키  입 력  이
                        벤 트 부 터    원 격  H T T P     요 청 이 나    파 일    입 출 력 까 지    모 든    부 분 에 서    콜 백(c all b a c k )    함 수 를    사 용 합 니
                        다.  자 바 스 크 립 트 는  싱 글  스 레 드  언 어 라 서  사 용 성  수 준 을  유 지 하 는  데  이 러 한  구 조 가  필 요 합 니 다.
                        즉,  데 이 터 를  사 용 할  준 비 가  되 면  자 바 스 크 립 트  런 타 임 에  호 출 할  처 리  함 수 를  제 공 함 으 로 써  장 기
                        실 행  작 업 의  블 로 킹  문 제 를  해 결 하 고 자  콜 백  함 수 가  만 들 어 졌 습 니 다.  그 동 안  애 플 리 케 이 션 은  그

                        림  1 -2 와  같 이  계 속 해 서  다 른  작 업 을  수 행 할  수  있 습 니 다.

                           그 림  1- 2   자 바 스 크 립 트 의  콜 백  함 수 는  다 른  방 식 으 로  애 플 리 케 이 션 을  다 시  호 출 하 는  대 신 에  제 어 의  역 전 을  만 든 다.
                                                      입 력

                                      애 플 리 케 이 션                 H T T P  요 청

                                                      출 력
                        제 어 의  역 전                                 콜 백  함 수


                                                                                                      0 2 5




         R x J S  코 딩  공 작 소( 본 문) 최 종.i n d d    2 5                                           2 0 1 9 - 1 2 - 1 2    오 전  1 0: 1 0: 0 5
   8   9   10   11   12   13   14   15   16   17   18