서버로부터 대략 config 혹은 policy로 가정한 정보를 프로그램에 주기적으로 내려줌
그리고 프로그램은 서버에게서 받은 정보를 이용해서 동작 설정을 만들고 이 설정을 기반으로 여러 스레드로 뭔가 작업을 함
여러 스레드로 동작이 가능하다보니 정보가 중간에 바뀌고 있는 상태, 그러니까 작업 중간에 서버에서 내려준 정보가 바뀌어서 꼬이는 상태를 방지해야 하는데 지금은 이렇게 구성했음.
정보가 완전히 업데이트 됐을 때 그 정보에 대한 동작 설정을 업데이트함. 그리고 어떤 동작이 시작되면 그 동작 설정을 매번 딥카피해서 던져줌
근데 여기서 성능이 꽤나 많이 저하되더라고 그래서 딥카피 없이 정보가 중간에 바뀌는 중에는 동작을 미루는 방법이 없을까?
그리고 프로그램은 서버에게서 받은 정보를 이용해서 동작 설정을 만들고 이 설정을 기반으로 여러 스레드로 뭔가 작업을 함
여러 스레드로 동작이 가능하다보니 정보가 중간에 바뀌고 있는 상태, 그러니까 작업 중간에 서버에서 내려준 정보가 바뀌어서 꼬이는 상태를 방지해야 하는데 지금은 이렇게 구성했음.
정보가 완전히 업데이트 됐을 때 그 정보에 대한 동작 설정을 업데이트함. 그리고 어떤 동작이 시작되면 그 동작 설정을 매번 딥카피해서 던져줌
근데 여기서 성능이 꽤나 많이 저하되더라고 그래서 딥카피 없이 정보가 중간에 바뀌는 중에는 동작을 미루는 방법이 없을까?
RWLock을 쓴다
RCU
새로 글 파서 답변했다