Метка «синхронизация данных»

В многопоточных приложениях иногда возникает необходимость создать producer/consumer очередь. Наилучший вариант это использовать для этого готовую библиотеку. Если по каким-то причинам этого сделать нельзя, то такую очередь можно реализовать самому. Как правило, для этого используются механизмы синхронизации mutex и condition variables.

Интерфейс синхронизации различается от среды к среде, поэтому приходится либо писать высокоуровневую обертку, либо брать за основу интерфейс какой-то среды и реализовать его для других. К примеру, можно взять за основу интерфейс pthread, и для Windows реализовать функции pthread_mutex_* и pthread_cond_*, на основе которых уже построить очередь.

Существует более легкий способ. Он заключается в том что можно создать сокет пару (socketpair) или трубу (pipe) из двух связанных дескрипторов, отдать пишущий конец трубы поставщику (producer), а читающий конец отдать всем потребителям (consumers). Читать полностью »

Альфа версия SyncApp от BitTorrent будет доступна для публичного использования к концу апреля Небольшое вступление для тех, кто еще не знает: SyncApp от BitTorrent — это система синхронизации данных между разными компьютерами. В отличие от DropBox и других аналогов, у нее отсутствует серверная часть, что позволяет вам полностью контролировать приватность ваших данных. Для передачи данных используется протокол BitTorrent.

Когда я услышал об этой системе, я зарегистрировался у них на сайте (думаю, как и многие другие) для получения новостей. И вот сегодня получил письмо с извещением о том, что ранняя альфа-версия будет доступна для публичного тестирования к концу апреля. Те же счастливчики, кто зарегистрировался, получат приватные ссылки для скачивания на пару недель раньше, к середине апреля.

Перевод текста письма под катом.
Читать полностью »

GoodSync – котлеты – отдельно, мухи – отдельно

Сервис GoodSync узкоспециализирован и предназначен для обеспечения автоматической синхронизации и резервного копирования как локально, так и с удаленных томов. А узкая направленность имеет свои последствия. Не всегда приятные, но обо всем по порядку.
Первое — позитивное, утилита предлагает исчерпывающую, богатую и глубокую поддержку заявленного спектра услуг и возможностей.
Второе – не такое позитивное, как первое, обучение функционалу программы для управления на достаточно высоком уровне является сложной задачей. Эта программа не для новичков, но другие пользователи полюбят данный продукт, как только научатся грамотно его использовать – то есть, если они научатся грамотно его использовать.
Читать полностью »

Данная статья или даже заметка вряд ли поможет многим опытным пользователям, но возможно натолкнет кого-то на переосмысление своего рабочего пространства и экономии своего времени. Большая часть решений широко и часто используется многими для решения повседневных задач, но меня очень обрадовал результат применения этих решений, слитых воедино, для организации своего рабочего места, хотя не обошлось и без минусов. Итак, начну.

Задача

Есть стационарный компьютер в офисе, стационарный компьютер дома, ноутбук и телефон на Android. Необходимо иметь некое единое рабочее пространство дома, в офисе и на телефонеЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js