Async Await

NeoSmart.AsyncLock 라이브러리에 관하여 다음에서 발췌, 번역 - Neosmart Docs. 개요 semaporeslim 은 reentrance 를 지원하지 않는다. 따라서, recursion 에서 적절히 사용되지 않으면 데드락이 발생한다. asynclock 은 reentrance 기능을 semaphoreslim 에 추가한거. 대안 간단한 방법은 semaphoreslim 으로 교체하고, recursion 인 경우를 스레드 아이디로 확인 하는 것. 이 경우의 문제는 async / await 의 가장 기본적인 목적인 ui 의 불필요한 블럭킹 없이 작업의 완료를 기다린다는 문제를 그대로 안고 있다. await 코드를 넣어도 다른 코드가 실행 될 수 없다....

December 18, 2018 · nolleh

Unix 01 Intro

네트워킹의 바이블이라 할 수 있는 Unix Network Programming 의 내용 정리 Books Introduction Socket 을 통해 통신하는 프로그램을 작성하는 개발자를 위해 쓰여진 책. 시작하는 사람에게나, 프로페셔널에게나 유용한 책. 물론 유지보수를 하거나, 새로 작성하는 사람, 네트워크 시스템 함수를 이해하는 모두에게 유용하다. 실제 텍스트들은 유닉스 시스템에서 구동가능하나, OS 에 독립적인 socket api 를 지원하는 다른 OS 에서도, 본문에서 제안하는 일반적인 개념을 활용가능하다. 많은 OS 는 셀수 없이 많은 네트워크 응용프로그램을 제공하고 있으며 - 예컨데 웹브라우저, email....

August 1, 2017 · nolleh

Concurrent Idiom 1 - Stack

concurrent 프로그램을 작성할 때 고려해야할 몇가지 사항. 그리고 idiom. 여러 서적에서 발췌하였으며, 정리 차원에서 작성한 내용이므로 본 글을 처음 접한 사람이 이해하기에 많은 내용을 담지 않을 수 있음. 어쩌면 작성자의 부사수를 위한 자재가 될지도 모르겠…(..) Concurrent ISSUE - Stack 이번엔 스택. if (!s.empty()) { item = s.top(); s.pop(); } 인터페이스상의 문제이기 때문에 empty 와 top 사이의 safety 를 보장할 수 없다. top() / pop() 도 마찬가지 -» 조회되지 못하는 아이템이 있을 수 있다....

July 10, 2017 · nolleh