Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «многопоточное»
Использование легковесных процессов 2016-01-31 16:11:14
Данный раздел посвящен работе с потоками (в некоторых других источниках они получили название ...
+ развернуть текст сохранённая копия
Данный раздел посвящен работе с потоками (в некоторых других источниках они получили название легковесные процессы). Поток – отдельная выполняемая последовательность в программе. Фактически поток – это способ реализации многозадачности в Java. Потоки используются при решении многих задач: анимация; воспроизведение и обработка звуковых данных; Читать дальше ...
Тэги: java, многопоточность
Шпаргалка Java программиста 4. Java Stream API 2015-11-18 16:43:55
+ развернуть текст сохранённая копия
Несмотря на то, что Java 8 вышла уже достаточно давно, далеко не все программисты используют её новые возможности, кого-то останавливает то, что рабочие проекты слишком сложно перевести с Java 7 или даже Java 6, кого-то использование в своих проектах GWT, кто-то делает проекты под Android и не хочет или не может использовать сторонние библиотеки для реализации лямбд и Stream Api. Однако знание лямбд и Stream Api для программиста Java зачастую требуют на собеседованиях, ну и просто будет полезно при переходе на проект где используется Java 8. Я хотел бы предложить вам краткую шпаргалку по Stream Api с практическими примерами реализации различных задач с новым функциональным подходом. Знания лямбд и функционального программирования не потребуется (я постарался дать примеры так, чтобы все было понятно), уровень от самого базового знания Java и выше.
Также, так как это шпаргалка, статья может использоваться, чтобы быстро вспомнить как работает та или иная особенность Java Stream Api. Краткое перечисление возможностей основных функций дано в начале статьи.
Для тех кто совсем не знает что такое Stream ApiStream API это новый способ работать со структурами данных в функциональном стиле. Чаще всего с помощью stream в Java 8 работают с коллекциями, но на самом деле этот механизм может использоваться для самых различных данных.
Stream Api позволяет писать обработку структур данных в стиле SQL, то если раньше задача получить сумму всех нечетных чисел из коллекции решалась следующим кодом:
Integer sumOddOld = 0;
for(Integer i: collection) {
if(i % 2 != 0) {
sumOddOld += i;
}
}
То с помощью Stream Api можно решить такую задачу в функциональном стиле:
Integer sumOdd = collection.stream().filter(o -> o % 2 != 0).reduce((s1, s2) -> s1 + s2).orElse(0);
Более того, Stream Api позволяет решать задачу параллельно лишь изменив stream() на parallelStream() без всякого лишнего кода, т.е.
Integer sumOdd = collection.parallelStream().filter(o -> o % 2 != 0).reduce((s1, s2) -> s1 + s2).orElse(0);
Уже делает код параллельным, без всяких семафоров, синхронизаций, рисков взаимных блокировок и т.п.
Читать дальше →
Тэги: api, java, luxoft, stream, блог, веб-сайтов, компании, лямбы, многопоточность, программирование, разработка, функциональное
IdBasedLocking 2014-01-29 16:27:41
У Java отличная поддержка параллелизма (concurrency) и блокировки (locking) — возможно, самая ...
+ развернуть текст сохранённая копия
У Java отличная поддержка параллелизма (concurrency) и блокировки (locking) — возможно, самая лучшая из тех, что предлагают современные языки. Кроме того, что в самом языке есть встроенная поддержка синхронизации, существует целый ряд полезных утилит на основе AQS framework. К ним относятся CountDownLatches, Barriers, Semaphores и прочие. Однако часто встречается ситуация, не поддерживающаяся напрямую: когда надо блокировать доступ не к конкретному объекту, а к идее этого объекта.
Читать дальше →
Тэги: concurrency, java, lock, locking, locks, веб-разработка, многопоточное, многопоточность, программирование
PHP IPC — Межпроцессное взаимодействие в PHP 2013-09-11 03:26:42
+ развернуть текст сохранённая копия
Целью данной заметки является ознакомление PHP-разработчиков с возможностями межпроцессного взаимодействия в данном языке. Заметка не предполагает во всех деталях рассказать о каждой из возможностей, деталях реализации или показать рабочие примеры кода.
Поскольку задача распараллеливания рано или поздно появляется у любого программиста, то данная заметка была задумана отправной точкой, с которой можно начать своё путешествие в мир увлекательного геморроя процесса построения таких систем.
Хотите узнать больше?
Тэги: communications, interprocess, ipc, php, pthreads, shmop, system, взаимодействие, виртуальная, котятки, межпроцессное, многопоточность, память, потоки, семафоры
Оптимальная параллелизация юнит-тестов или 17000 тестов за 4 минуты 2013-05-30 16:47:38
+ развернуть текст сохранённая копия
Сегодня мы поговорим про разработанную нами утилиту, которая оптимизирует тестирование PHP-кода с помощью PHPUnit и TeamCity. При этом нужно понимать, что наш проект — это не только веб-сайт, но и мобильные приложения, wap-сайт, Facebook-приложение и много чего ещё, а разработка ведется не только на PHP, но и на C, C++, HTML5 и т.д.
Методы, которые мы описываем, прекрасно адаптируются под любой язык, любую систему тестирования и любое окружение. Поэтому наш опыт может оказаться полезным не только разработчикам веб-сайтов на PHP, но и представителям других областей разработки. Кроме того, в ближайшем будущем мы планируем перевести нашу систему в Open Source ― без обязательной привязки к TeamCity и PHPUnit ― наверняка она кому-нибудь пригодится.
Читать далее
Тэги: badoo, php, phpunit, teamcity, автоматический, баду, блог, компания, многопоточность, оптимизация, организация, тестирование
Главная / Главные темы / Тэг «многопоточное»
|
Взлеты Топ 5
Падения Топ 5
|