1
는 다음 작업을 수행 할 수 있어야합니다 검색 - 및 - 추가 :스레드 안전
- 링크 된 목록을 검색 할 수 있습니다.
- 찾을 수없는 경우 새로운 노드를 목록에 추가하십시오.
- 스레드가 안전하고 대부분 읽기 때문에 rwlock을 사용하십시오.
내가 겪고있는 문제는 read_lock에서 write_lock으로 승격 할 때입니다. 목록 검색을 수행하는 동안 다른 스레드가 write_lock을 기다리지 않았 음을 확인하기 위해 목록을 다시 검색해야합니다. read_lock.
이중 목록 검색 (아마도 일종의 seq_lock)을 수행하지 않고 위와 같은 다른 방법이 있습니까?