라이브 플립 타일을 사용하는 Windows Phone 8 응용 프로그램을 개발 중입니다. 로컬 데이터를 사용하여 라이브 타일을 업데이트하는 예정된 에이전트 (리소스 집중적이지 않은 주기적 작업)를 생성 할 것입니다.포 그라운드 응용 프로그램에서 주기적 작업 동시성 문제
전체 앱이 인터넷에 연결되지 않으면 로컬 데이터 만 사용합니다. 따라서 푸시 알림은 문제가되지 않습니다.
백그라운드 에이전트 및/또는 포어 그라운드 앱에서 라이브 타일을 업데이트해야합니다 (둘 중 먼저 발생하는 시점).
그러나 전경 앱과 백그라운드 에이전트가 서로의 발가락을 밟지 않도록하려면 어떻게해야합니까? 나는이 작업을 수행하는 두 가지 옵션이 있습니다
가 뮤텍스를 사용하여을 (이다 잠금 장치 (모니터) 문제를 벗어나도록 AFAIK 배경 에이전트는 서로 다른 프로세스에서 실행). 그러나 나는 그것이 높은 성능 비용 (뮤텍스를 얻거나 발표하는 것)이 두렵다.
포 그라운드 앱이 시작될 때 항상 에이전트를 제거하고 작업을 수행 한 다음 에이전트를 다시 예약합니다. Theferore는 foreground 앱과 백그라운드 에이전트가 겹칠 가능성은 없지만 에이전트 추가/제거 또한 길어질 수 있으며 에이전트를 제거한 후에도 사용자를 추가 할 수는 있지만 다시 추가하기 전에는 닫을 수 있습니다. .
난 정말이 두 가지 방법 사이에 찢어하고 최상의 될 것이라고 말할 수 없다.
추신 : 상담원 고유 코드에서 상담원 일정을 다시 잡을 수는 없습니까?
뮤텍스를 사용하는 것은 비용이 많이 들지만, 여기서 우리는 대부분 몇 밀리 초를 말합니다. 당신이 수백 시간을 사용하지 않는 한, 사용자가 알아 차릴 수있는 것이 아무것도 아닙니다. –