Вопрос

Я предполагаю, что в Java нет эквивалента параллельных библиотек задач (из .NET 4.0). Это правда? Каковы улучшения, что эта функция .NET предлагает, что параллелизм Java не делает.

Это было полезно?

Решение

У Java есть java.util.concurrent упаковка, а также есть Форма/соединение фреймворка. Отказ Вилка/соединение запланировано для включения в Java 7, но может быть Скачали сейчас и используется с Java 6.

Хорошая книга о том, чтобы справиться с параллелизмом на Java Ява параллелизм на практике, Брайан Гетц и другие.

Другие советы

Библиотека Хабанеро-Джава (HJ-LIB)-это новая библиотека реализация Habanero-Java (HJ), педагогической модели параллельного программирования, разработанной в Райсский университет. Отказ HJ-LIB способен выражать множество различных форм параллельных паттернов, включая параллелизм данных, параллелизм трубопровода, параллелизм потока, параллелизм петли и параллелизм разделения и контроля.

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

HJ-LIB строится с помощью Lambda выражения и может работать на любой Java 8 JVM. Старые JVM могут быть нацелены на то, чтобы полагаться на внешние инструменты преобразования Bytecode для совместимости. Время выполнения HJ отвечает за организацию создания, выполнения и прекращения задач HJ, а также содержит как планировщики, так и планировщики по сокращению рабочих мест.

HJ-LIB также является привлекательным инструментом для преподавателей с многочисленными образовательными ресурсами, доступными на уровне второго курса COMP 322 КУРС предлагается в Райс Университет. Эти ресурсы также могут быть использованы для изучения API библиотеки. Javadoc для API также доступны.

Вот простая версия Helloworld:

import static edu.rice.hj.Module1.*;

public class HelloWorld {

    public static void main(final String[] args) {

        launchHabaneroApp(() -> {

            finish(() -> {
                async(() -> System.out.println("Hello"));
                async(() -> System.out.println("World"));
                async(() -> System.out.println("in"));
                async(() -> System.out.println("HJ-lib"));
            });

        });
    }
}

Дальнейшие примеры для различных параллельных конструкций доступны из Comp 322 Веб -сайт курса.

Да. Java не имеет эквивалента параллельной библиотеки задачи - TPL (из .NET 4.0). Вы правы в своем вопросе (основное слово - net 4.0). TPL «общий» - универсальная библиотека .NET для ЛЮБЫЕ .NET APPLICE. Это означает, что вы можете иметь единую общую асинхронную логику для любого приложения .NET (WPF, Winforms, xamarin.forms, asp.net, ...) с действительно асинхронным (не блокирующим UI) подходом. У Java нет. Javafx имеет особый не блокирующий класс задач, Swing - Fooshoder Workings, Android - собственный подход. ... Так названная утиль. Конкурентность Java Package не имеет никаких беззаботных решений пользовательского интерфейса (Javafx, Swing).

Из того, что я знаю, в Java нет эквивалента.

Я написал библиотеку задач Java, вдохновленную TPL. Это не поддерживает все функции TPL, но в то время соответствовал моим требованиям.

GitHub: https://github.com/brunomndantas/tpl4j

Maven: https://mvnrepository.com/artifact/com.github.brunomndantas/tpl4j

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top