Задавая конкретные вопросы, вы должны стремиться предоставить как можно больше информации. Вы добавили вариант использования, но он не завершен.
Ваш конкретный вариант использования выглядит как очень небольшое количество данных, которые должны быть доступны на высокой частоте 10 кГц. Сначала я попытался бы определить, могу ли я на самом деле сделать оба фрагмента кода частью одного процесса, а не двух разных процессов. В зависимости от языков ( отсутствует в вопросе ) это может быть даже просто или превратить невозможное в возможное - в зависимости от ОС ( отсутствует в вопросе ), планировщик может недостаточно быстрое переключение с одного процесса на другой, и это может повлиять на доступность последнего чтения. Переключение между потоками обычно намного быстрее.
Если вы не можете превратить их в единый процесс, то вам придется использовать некоторую нехватку IPC (межпроцессное взаимодействие). Из-за частоты я бы исключил большинство протоколов с большим весом (исключая XML, CORBA), так как издержки, вероятно, будут слишком высокими. Если принимающей стороне нужен только доступ к последнему значению, и этот доступ может быть менее частым, чем 0,1 мс, тогда вы не хотите использовать какой-либо протокол, включающий организацию очереди, так как вы не хотите читать next элемент в очереди, вы заботитесь только о last , если вы не читали элемент, когда он был хорош, избегайте затрат на его обработку, когда он уже устарел --ie нет смысла зацикливать извлечение из очереди и отбрасывание.
Я был бы склонен использовать совместно используемую память или совместно используемый файл с отображенной памятью (они, вероятно, очень похожи, зависит от платформы , отсутствующей в вопросе ). В зависимости от размера элемента и точной аппаратной архитектуры ( отсутствует в вопросе ), вы можете избежать блокировки с помощью мьютекса. Например, в современных процессорах Intel доступ на чтение / запись к 32-разрядным целым числам из памяти гарантированно будет атомарным, если переменная выровнена правильно, поэтому в этом случае вы не будете блокировать.