Programming/기초

[ν”„λ‘œκ·Έλž˜λ°] 동기, λΉ„λ™κΈ°λž€? ( feat.λΈ”λ‘œν‚Ή )

MOONCO 2021. 2. 25. 15:18

πŸ‘‰ 동기(synchronous) 처리

이전 μž‘μ—…μ΄ λλ‚˜μ•Ό, λ‹€μŒ μž‘μ—…μ„ μ²˜λ¦¬ν•˜λŠ” 방식

ν•¨μˆ˜ μ‹€ν–‰ => λ°˜ν™˜λ λ•ŒκΉŒμ§€ κΈ°λ‹€λ¦Ό => λ‹€μŒ ν•¨μˆ˜ μ‹€ν–‰

 

πŸ‘‰ 비동기(asynchronous) 처리

μ—¬λŸ¬ μž‘μ—…μ„ λ™μ‹œμ— μ²˜λ¦¬ν•˜λŠ” 방식

μ½œλ°±μ„ μ „λ‹¬ν•˜μ—¬ ν•¨μˆ˜A μ‹€ν–‰ => λ°˜ν™˜λ˜μ§€ μ•Šλ”λΌλ„ λ‹€μŒ ν•¨μˆ˜B μ‹€ν–‰ => Aκ°€ μ’…λ£Œλ˜λ©΄ μ½œλ°±ν•¨μˆ˜ μ‹€ν–‰

( μŠ€νŠΈλ¦¬λ°λ„ 비동기 처리 방식쀑에 ν•˜λ‚˜λ‹€. )

 

πŸ‘‰ λΈ”λ‘œν‚Ή

μ œμ–΄κΆŒμ„ κ°€μ§„ ν•¨μˆ˜κ°€ 싀행될 λ™μ•ˆ, 싀행쀑인 ν•¨μˆ˜λ“€μ„ μ •μ§€μ‹œν‚€λŠ” 방식 

Aν•¨μˆ˜μ—μ„œ Bν•¨μˆ˜μ‹€ν–‰ => A μ •μ§€, B μ‹€ν–‰ => B λ°˜ν™˜, A μ‹€ν–‰

 

πŸ‘‰ λ…ΌλΈ”λ‘œν‚Ή

μ œμ–΄κΆŒμ„ κ°€μ§„ ν•¨μˆ˜κ°€ μ‹€ν–‰κ³Ό 관계없이, ν•¨μˆ˜λ“€μ„ μ‹€ν–‰ν•˜λŠ” 것 

Aν•¨μˆ˜μ—μ„œ Bν•¨μˆ˜μ‹€ν–‰ => A,B λ™μ‹œ μž‘λ™ => 

 

πŸ‘‰ 동기 λΈ”λ‘œν‚Ή

Aν•¨μˆ˜μ—μ„œ Bν•¨μˆ˜ μ‹€ν–‰

1. AλŠ” B의 리턴값이 ν•„μš”ν•¨ ( 동기 )
2. AλŠ” Bκ°€ λλ‚ λ•ŒκΉŒμ§€ κΈ°λ‹€λ¦Ό ( λΈ”λ‘œν‚Ή )

 

πŸ‘‰ λ™κΈ° λ…ΌλΈ”λ‘œν‚Ή

Aν•¨μˆ˜μ—μ„œ Bν•¨μˆ˜ μ‹€ν–‰

1. AλŠ” B의 리턴값이 ν•„μš”ν•¨ ( 동기 )
2. AλŠ” Bκ°€ λλ‚ λ•ŒκΉŒμ§€ 기닀리지 μ•ŠμŒ ( λ…ΌλΈ”λ‘œν‚Ή )

3. Aκ°€ Bμ—κ²Œ ν•¨μˆ˜κ°€ μ’…λ£Œλ˜μ—ˆλŠ”μ§€ μˆ˜μ‹œλ‘œ λ¬Όμ–΄λ΄„! 

( κ²Œμž„ λ§΅ λ‘œλ”©ν™”λ©΄, λ‘œλ”© λ°” )

 

πŸ‘‰ 비동기 λΈ”λ‘œν‚Ή

Aν•¨μˆ˜μ—μ„œ Bν•¨μˆ˜ μ‹€ν–‰

1. AλŠ” B의 리턴값이 ν•„μš”ν•˜μ§€ μ•ŠμŒ ( 비동기 )
2. AλŠ” Bκ°€ λλ‚ λ•ŒκΉŒμ§€ κΈ°λ‹€λ¦Ό ( λΈ”λ‘œν‚Ή )

 

πŸ‘‰ 비동기 λ…ΌλΈ”λ‘œν‚Ή

Aν•¨μˆ˜μ—μ„œ μ½œλ°±μ„ 인자둜 Bν•¨μˆ˜ μ‹€ν–‰ 

1. AλŠ” B의 리턴값이 ν•„μš”ν•˜μ§€ μ•ŠμŒ ( 비동기 )
2. AλŠ” Bκ°€ λλ‚ λ•ŒκΉŒμ§€ 기닀리지 μ•ŠμŒ ( λ…ΌλΈ”λ‘œν‚Ή )

 

λ°˜μ‘ν˜•