Найдено результатов: 6

Каковы некоторые хорошие ресурсы для изучения потокового программирования?

С появлением multicore CPUs на рабочем столе навыки многопоточности станут ценным активом для программистов. Можете ли вы порекомендовать какие-то хорошие ресурсы (книги, учебные пособия, веб-сайты и т. д.) для программиста, который хочет узнать о потоковом программировании?

multithreading   language-agnostic   concurrency    

476   17   16:03, 1st July, 2020


Каковы некоторые хорошие ресурсы для изучения потокового программирования?

С появлением multicore CPUs на рабочем столе навыки многопоточности станут ценным активом для программистов. Можете ли вы порекомендовать какие-то хорошие ресурсы (книги, учебные пособия, веб-сайты и т. д.) для программиста, который хочет узнать о потоковом программировании?

multithreading   language-agnostic   concurrency    

624   17   16:03, 1st July, 2020


Проект Darkstar Реалистичен?

Проект Darkstar был темой ежемесячной встречи JavaSIG в офисах Google в NYC прошлой ночью. Для тех, кто не знает (вероятно, все), Project Darkstar-это платформа для многопользовательских онлайн-игр, которая пытается позаботиться обо всех "hard stuff." основная идея заключается в том, что вы пишете логику своего игрового сервера таким образом, что все операции разбиваются на крошечные задачи. Вы передаете эти задачи в Project Darkstar framework, который обрабатывает их распределение на определенный узел в кластере, любые проблемы параллелизма и, наконец, сохранение данных.

По-видимому, делать такие вещи-это совсем другая проблема для видеоигр, чем для корпоративных приложений. Джим Уолдо, который читал лекцию, утверждает, что MMO игры имеют отношение DB чтения/записи 50/50,, тогда как корпоративные приложения больше похожи на 90% чтения, 10% записи. Он также утверждает, что большинство существующих MMOs хранят все в памяти exlcusively, и только сбрасывают в DB каждые 6 часов so. Это означает, что если сервер выходит из строя, вы потеряете всю работу с момента последнего дампа DB.

Теперь, сам проект звучит действительно круто,но я не думаю, что индустрия примет его. Во-первых, вы должны написать свой код сервера в Java. Клиентский код может быть написан на чем угодно (Джим утверждает, что ActionScript 3 является самым популярным, а затем C++), но серверный материал должен быть Java. Звучит хорошо для меня, но у меня действительно создается впечатление, что все в игровой индустрии ненавидят Java.

Во-вторых, в отличие от других отраслей, где разработчики предпочитают использовать существующие фреймворки и библиотеки, ребята в игровой индустрии, похоже, любят писать все сами. Мало того, они любят переписывать все для каждой новой игры, которую они производят. Все начинает меняться, когда разработчики используют Havok для физики, Unreal Engine 3 в качестве своей платформы и т. д. но по большей части это выглядит так, как будто все еще является собственностью.

Итак, ребята из проекта Darkstar просто теряют свое время? Может ли общая структура, подобная этой, действительно работать для сложных игр с требуемой производительностью? Даже если это действительно работает, готовы ли игровые компании использовать его?

java   concurrency   distributed    

574   7   21:23, 7th August, 2020


Erlang-параллелизм стиля для других языков

Какие библиотеки существуют для других языков программирования, чтобы обеспечить модель параллелизма в стиле Erlang (процессы, почтовые ящики, сопоставление шаблонов) и т. д.)?

Примечание: меня особенно интересуют вещи, которые должны быть похожи на Erlang, а не просто любая библиотека потоков или очередей.

multithreading   concurrency   erlang    

396   13   05:28, 9th August, 2020


Лучший способ получить объекты из BlockingQueue в параллельной программе?

Каков наилучший способ получить объекты из BlockingQueue в параллельной программе, не попадая в состояние гонки? В настоящее время я делаю следующее, И я не уверен, что это лучший метод:

BlockingQueue<Violation> vQueue;
/* 
in the constructor I pass in a BlockingQueue object 
full of violations that need to be processed - cut out for brevity
*/

Violation v;
while ( ( v = vQueue.poll(500, TimeUnit.MILLISECONDS) ) != null ) {
    // do stuff with the violation
}

Я еще не достиг состояния гонки... но я не слишком уверен, что это действительно безопасно.

java   concurrency    

386   1   04:25, 3rd August, 2020


Лучшая архитектура для обработки изменений файловой системы?

Вот такой сценарий:

Я пишу приложение, которое будет следить за любыми изменениями в определенном каталоге. Этот каталог будет заполнен тысячами файлов в минуту каждый с "almost" уникальным GUID. Формат файла такой:

GUID.dat где GUID = = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (внутреннее содержимое не имеет отношения, но это просто текстовые данные)

Мое приложение будет представлять собой форму, которая имеет одно текстовое поле, которое показывает все файлы, которые добавляются и удаляются в режиме реального времени. Каждый раз, когда появляется новый файл, я должен обновить textbox с этим файлом, но сначала я должен убедиться, что этот полу-уникальный GUID действительно уникален, если это так, обновите textbox с этим новым файлом.

Когда файл удаляется из этого каталога, убедитесь, что он существует, а затем удалите его, обновите textbox соответствующим образом.

Проблема в том, что я использую его .NET filewatcher и кажется, что есть внутренний буфер, который взрывается каждый раз, когда входит (buffersize + 1)-й файл. Я также попытался сохранить внутренний список в своем приложении и просто добавить каждый файл, который входит, но позже выполните проверку unique-GUID, но без кубиков.

.net   architecture   concurrency   filesystemwatcher    

442   2   14:19, 9th August, 2020