System/OS
OS :: 프로세스 동기화 (Process Synchronization)
프로세스는 병행하게 또는 병렬로 실행될 수 있습니다. 하지만, 이러한 병행,병렬적인 동작은 데이터의 무결성에 어떠한 문제를 야기 시킬 수 있습니다. 어떤 문제가 있을지 알아보겠습니다. Process Synchronization Buffer를 가지고 예를 들어 보겠습니다. [생산자 Code] while(true){ while(counter == BUFFER_SIZE) /* do nothing*/ ; buffer[in] = nextProduced; in = (in + 1) % BUFFER_SIZE; counter++; } 버퍼 용량이 꽉차 있으면 "do nothing", 버퍼 용량이 남아 있으면 "item"(data)을 넣고 "counter"를 증가 시킵니다. [소비자 Code] while(true){ w..
2017. 12. 13. 11:50
최근댓글