powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / java 8 и yeild return C#
42 сообщений из 42, показаны все 2 страниц
java 8 и yeild return C#
    #38747987
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день ,

возник простой вопрос как в java 8 реализовать yeild return C# ?

Есть простой пример : который вернет реверсивную коллекцию ...

а как ее реализовать на java 8 ? какой там будет подход?

+ может я не увидел реализацию yeild return в java 8 ?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
public class ReorderTest {
    public static void main(String[] args) {
        int N =  (int) 1e6;
        int[] a = new int[N];
        Random random = new Random();
        for (int i = 0; i < a.length; i++) {
             a[i] = random.nextInt(N);
        }
        
        long t = System.currentTimeMillis();
        for (int i = 0; i < 10; i++) {
        int[] b = getRevert2(a);    
        }
        System.out.println((System.currentTimeMillis() - t) + " ms");
        
        
        
        
    }
    
    public static int[] getRevert(int[] a) {
        int b[] = new int[a.length];
        for (int i = a.length - 1; i >= 0; i--) {
            b[a.length - i - 1] = a[i];
             // yeild return a[a.length - i - 1];
        }
        return b;
    }
}
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38748054
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет в Java 8 continuation-ов. Только отдельными либами. Было в изначальных предложения "чтобы такого ещё добавить в Java 8", но отвергли после рассмотрения.
http://rsdn.ru/forum/java/5706726.1
Возможно будет в Java 9. Но, судя по последним апдейтам - маловероятно.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38748078
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или это не continuation?
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38748113
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1возник простой вопрос как в java 8 реализовать yeild return C# ?

Это который "pipe row" из pl/sql?

Смотри Stream из JDK8, но не знаю, поможет ли. Оно заточено под map/reduce операции. Препарируй sorted(), что там.

Хотя, видимо, придётся итератор писать. Хотя там немного кода. Да и наверняка "yeild return" и есть синтаксический сахар вокруг итератора.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38748935
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798543
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, а когда в java появиться аналог C# partial class ?
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798567
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Коллеги, а когда в java появиться аналог C# partial class ?
Непоятвиться, ибо нафиг не нужно

MSDNThere are several situations when splitting a class definition is desirable:

When working on large projects, spreading a class over separate files enables multiple programmers to work on it at the same time.

When working with automatically generated source, code can be added to the class without having to recreate the source file. Visual Studio uses this approach when it creates Windows Forms, Web service wrapper code, and so on. You can create code that uses these classes without having to modify the file created by Visual Studio.


№1 - размазываем класс по файлам, ради какой-то сомнительный выгоды редактировать вдвоём? А где гарантии, что редактировать надо будет не одну партицию???
№2 - кодогенерация зло. Хотя здравое зерно в этом есть.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798596
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Коллеги, а когда в java появиться аналог C# partial class ?

Надеюсь, что никогда. Не надо делать столь большие классы, чтобы это требовалось. Тем более, что взамен столько оговорок про наследование, абстрактность и т.п.
А совместное редактирование кода- git и так справится.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798612
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798613
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798743
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman,

спасибо . Интересный подход через итераторы :)
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798764
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UsmanAtum1,

http://en.wikipedia.org/wiki/Generator_(computer_programming)#Java ?
Уже давно думал над "заполняющими кривыми". Для инженерной графики в основном.
Реализовал LinearIterator (это как-бы обход битмапа в порядке пикселов сверху
вниз и слева направо). ShakerIterator (слева-направо змейкой). ZigZagIterator
- это для поддержки JPEG в основном. По квадратикам 8х8.

И тут подошёл к заполняющей кривой Гилберта. И сдох. Она рекурсивна.
Решение рекурсивного генератора весьма изящно. Только вот прервать его
и выдать наверх значение через return весьма сложно т.к. разрушается стек.
Хрен вам а не итераторо, господин mayton.

Вобщем так я и не реализовал GilbertIterator всё из-за своей лени и отчасти
из-за отсутствия yield в Java.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798773
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

а если через современные средства ? через ленивые вычисления ? возьмите скала или груви?
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798782
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1, +1. Но моя графическая либа была писана на Java.
Портировать ее на груви я пока еще не готов. Там я залкладывал
свои хитрые оптимизации.

Хотя... сделать mixed-проект это вобщем-то мысль.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38798795
Фотография Диез
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1,

В scala с этим всё хорошо - и yield, и аналог Partial-классов есть.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38799902
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonРешение рекурсивного генератора весьма изящно.Но ведь можно разложить в "нерекуррентную" последовательность: http://jsfiddle.net/kazatca/7Zftt/
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38799992
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UsmanmaytonРешение рекурсивного генератора весьма изящно.Но ведь можно разложить в "нерекуррентную" последовательность: http://jsfiddle.net/kazatca/7Zftt/
У меня есть тестовая картинка с изображением печально-известной
беременной тётки которую звали Лизавета Джоконда.

Вот ее характеристики по информации imagemagic:

Код: java
1.
Mona_Lisa.jpg JPEG 2835x4289 2835x4289+0+0 8-bit sRGB 3.506MB 0.000u 0:00.000


Мне нужно обеспечить возможность обхода этой картинки по кривой Гилберта.
Мне нужно вносить изменнеия в этот исходник чтобы поддержать
resolution (2835x4289). Алгоритм Гилберта работает с 2^N квадратом тоесть
8192 на 8192.

Глубоко не вникал но очевидно этот сорс просто является частным
случаем оптимизации кривой Гилберта 5-го уровня.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38806531
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ап. Давайте сделаем тяпничной задачей.

Болванка.

GilbertPixelRecursiveIterator.groovy
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
package mayton.image.iterators

import static java.lang.Math.max
import static java.lang.Math.min

/**
 * GilbertPixelRecursiveIterator
 */
class GilbertPixelRecursiveIterator implements IPixIterator {

    def x;
    def y;

    def u=1;
    def v=0;

    def x1;
    def y1;
    def x2;
    def y2;

    public LinearPixIterator(int width,int height)
    {
        x1=min(0,width);
        y1=min(0,height);
        x2=max(0,width);
        y2=max(0,height);
        reset();
    }

    boolean isReset = false

    @Override
    int getX() {
        return x
    }

    @Override
    int getY() {
        return y
    }

    @Override
    boolean next() {
        yield false
    }

    @Override
    void reset() {
        isReset = true
    }
}
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38806544
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ть... конструктор переименовать забыл.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38808961
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобщем этот yield не взлетает из Java. Нужен какой-то враппер.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38810050
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38810066
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут другая тема. Ломбок это просто библиотека. А Груви это язык на который я планирую
потихоньку переползать. Вобщем постараюсь собрать pom.xml с двумя тест-кейсами.
Как только соберу - приаттачу. (Щас всё развалено пока).
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38810314
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТут другая тема. Ломбок это просто библиотека. А Груви это язык на который я планирую
потихоньку переползать. Вобщем постараюсь собрать pom.xml с двумя тест-кейсами.
Как только соберу - приаттачу. (Щас всё развалено пока).

Переползать на груви? Собирается медленно, работает медленно, с отладкой проблемы.
Рельцы- один сплошной глюк.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38810779
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока не всё. Есть мысль сделать гибридный проект. Основная часть кода на Java.
А DTO/Pojo и прочие тупые сущности "без логики" переколбасить на Грувях.
Правда есть еще вопросы которые я не решил. Например область видимости
классов GWT и Груви.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38812495
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonТут другая тема. Ломбок это просто библиотека. А Груви
Я топикстартеру..

maytonА DTO/Pojo и прочие тупые сущности
А на тебе ещё про ломбок)
http://projectlombok.org/features/GetterSetter.html
http://projectlombok.org/features/Data.html
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38812511
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да читал про этот перец. Еще год назад.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38814761
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВобщем этот yield не взлетает из Java. Нужен какой-то враппер.- имплементим Iterable и Iterator
- создаем внутренний поток, где будет выполнятся рекурсивная функция
- для взаимодействия между тек. и внут. потоками используем https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/SynchronousQueue.html] SynchronousQueue ( https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/SynchronousQueue.html#put(E)] put() - для внутреннего потока, https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/SynchronousQueue.html#take()] take() - для текущего)
- hasNext() - счетчик, если можно вычислить кол-во элементов (альтернативный: true - если завершился внут. поток, иначе false )
- next() возвращает значение take()
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38814794
smackmychi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
avp.mk,

за Lombok спасибо
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38815369
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобщем. Не хотел я связываться с Iterable и Iterator . Я в обработке графики
(по пикселам) пытался уйти от явного return new Point(x,y). Вобщем просто
были два метода int getX(), int getY() которые и решали эту задачу. Итератор
в совокупности с генериком всё равно требует "вернуть Object".

Вобщем буду думать.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38815375
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Хорстмана в "Java 8 SE, Вводный курс" рассматриваются параллельные вычисления на API Java 8 и на примерах обработки изображений.
Так ли он нужен, этот yieldReturn?
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #38815380
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобщем-то и не особо нужен. Просто этот чортов старик Гильберт был хитёр как тыща лис
и запилил свою заполняющую кривую через рекурсию. Можно ее и развернуть через
конечный автомат со стеком но суть не меняется. У алгоритма - рекурсивная природа.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #39029970
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день

Async/await в C# есть - а у нас сейчас есть альтернатива, или аналог?

Видел какие-то реализации на c++ в 20 строк через ламбды ..... но это все не то...


может есть что то через аннотации ??? чтобы так же просто и легко и понято?
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #39196703
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задавил я таки этого Гильберта. Чортов старик. Через BlockingQuee.

Схема такая. Есть рекурсивный процесс-поставщик который реализует
рекурсивный метод рисования кривой Гильберта. Есть блокирующая очередь
которая получает данные от поставщика. И есть потребитель с интерфейсом
Iterator<> который генерирует собственно последовательность координат
и удобен в использовании графических алгоритмов типа анализа, сжатия
e.t.c.

Решение перекликается с Тяпничная география которая у меня ну никак не двигается из за остутствия внятной
схемы раскраски диаграммы.

Понимаю что решение не интелектуальное а просто инженерное. Просто
я исхожу из того что вместо кривой Гильберта могла быть Z-кривая
или еще бох знает какая а на них всех не напасешся имплементаций.

Надеюсь что BQ не будет тормозом в противном случае надо пробовать
альтернативные реализации очередей.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #39198068
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonРешение перекликается с Тяпничная география которая у меня ну никак не двигается из за остутствия внятной
схемы раскраски диаграммы.
Ну стран предположим не более 2^8. Количество ip4 - 2^32.
32GB и счастье близко.
Влом все одновременно в памяти держать - разбей на файлики a/b/c/d
И пусть за тебя думает кеш файловой системы. :)
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #39198418
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Арсеньев, ОК, я еще раз озвучу постановку.

Дано:

Последовательность IP-blocks вида:

Код: java
1.
2.
3.
192.168.0.1-192.168.0.254, US, United States
10.60.10.1-10.60.10, JP, Japanese
....



Диапазон и страна. Я привел

Необходимо нарисовать картинку размером 65536 x 65536 пикселов где каждая
точка раскрашена в цвет соответствующей страны (справочник цветов будет
задан как исходные данные). Интервалы между IP-блоками и неаллоцированное
пространство раскрашивается в серй DARK_GRAY цвет.

Диапазоны и интервалы раскрашиваются не в матричном
порядка (слева направо сверху вниз) а в порядке обхода кривой Гилберта.
Это гарантирует соседство ближних адресов всегда без разрывов и переходов.
В идеальном случае IP block должен отображаться в цветной квадрат или
в Г-образную фигуру или более сложную (сцепление квадратов).

Естественно такая большая картинка существует только в нашем воображении и отобразить
ее вряд-ли смогут графические средства.

Но я планирую ее побить на фрагменты размером 800 x 600 (как панорамное фото) :

Код: java
1.
2.
3.
4.
01-01.png ( Rectangle (0,0) - (799,599)
01-02.png .....
02-01.png .....
02-02.png .....



и отрисовать.

После этого отрендерить zoom-уровни

Код: java
1.
2.
3.
4.
01-01-02-02.zoom2x.png
02-02-03-03.zoom2x.png
....
01-01-xx-xx.zoom...png


Для удобства просмотра в UI.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #39198965
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Это какой то интервальный решатель ! очень похоже ...

но так как все IP адреса известны - то проще просто их все перебрать в цикле ?! чем не решение?
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #39198983
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так и буду делать. Перебирать все адреса. Просто множество картинок (array of BufferedImage)
суммарным объемом 4 гига пиксела (RGB-цвет) не влезут в heap.

Надо писать в диск. Думаю над оптимизацией. Как писать учитывая зигзагообразный
порядок кривой.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #39198996
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТак и буду делать. Перебирать все адреса. Просто множество картинок (array of BufferedImage)
суммарным объемом 4 гига пиксела (RGB-цвет) не влезут в heap.
Тебе RGB нужен только для построения PNG. А для формирования схемы достаточно 1 байта на адрес. Стран-то не более 255?
Но это так. Мысли в слух. Перебор диапазонов, конечно, веселее.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #39199038
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДумаю над оптимизацией. Как писать учитывая зигзагообразный порядок кривой.
- Полотно разбить на фрагменты (квадратики)
- Координаты начала отрисовки - середина полотна.
- После отрисовки - merge 'им фрагменты.

P.S.
В итоге должно получиться что-то вроде такого ?
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #39199067
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Usman, да. Совершенно верно. Должна быть цветная карта стран.
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #39199078
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно итератор. Может кому сгодится.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
public class GilbertIteratorBlockingQueue implements Iterator<Position> {

    static Logger logger = LogManager.getLogger(GilbertIteratorBlockingQueue.class);

    Producer producer;
    int size;
    BlockingQueue<Position> queue;
    Position position = Position.DUMMY;
    int state = 0;

    public GilbertIteratorBlockingQueue(int size) {
        if (size<4){
            throw new IllegalArgumentException("The dimension of 'Gilbert' curve cannot be less than 4 x 4!");
        }
        this.size = size;
        queue = new ArrayBlockingQueue<>(1024);
        producer = new Producer();
        new Thread(producer).start();
    }

    class Producer implements Runnable {

        static final int u = 1;
        int glx;
        int gly;
        int level;

        public Producer() {
            level = log2up(size);
            int clp2size = clp2(size);
            if (clp2size > size) {
                logger.warn("Warning! The real dimension of iterator's space has been extended to {}x{} pixels", clp2size, clp2size);
            }
            state = 1;
        }

        public void run() {
            try {
                moveto(0, 0);
                a(level);
                queue.put(Position.DUMMY);
            } catch (InterruptedException e) {
                logger.error(e);
            }
        }

        void linerel(int x, int y) throws InterruptedException {
            glx += x;
            gly += y;
            queue.put(new Position(glx, gly));
        }

        void moveto(int x, int y) throws InterruptedException {
            glx = x;
            gly = y;
            queue.put(new Position(glx, gly));
        }

        // Elements of curve
        void a(int i) throws InterruptedException {
            if (i > 0) {
                d(i - 1);
                linerel(+u, 0);
                a(i - 1);
                linerel(0, u);
                a(i - 1);
                linerel(-u, 0);
                c(i - 1);
            }
        }

        void b(int i) throws InterruptedException {
            if (i > 0) {
                c(i - 1);
                linerel(-u, 0);
                b(i - 1);
                linerel(0, -u);
                b(i - 1);
                linerel(u, 0);
                d(i - 1);
            }
        }

        void c(int i) throws InterruptedException {
            if (i > 0) {
                b(i - 1);
                linerel(0, -u);
                c(i - 1);
                linerel(-u, 0);
                c(i - 1);
                linerel(0, u);
                a(i - 1);
            }
        }

        void d(int i) throws InterruptedException {
            if (i > 0) {
                a(i - 1);
                linerel(0, u);
                d(i - 1);
                linerel(u, 0);
                d(i - 1);
                linerel(0, -u);
                b(i - 1);
            }
        }


    }

    @Override
    public boolean hasNext() {
        if (state == 2){
            return false;
        }
        try {
            position = queue.take();
            if (position == Position.DUMMY) {
                state = 2;
                return false;
            }
        } catch (InterruptedException e) {
            logger.error(e);
        }
        return true;
    }

    @Override
    public Position next() {
        return position;
    }
}
...
Рейтинг: 0 / 0
java 8 и yeild return C#
    #39199738
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНо я планирую ее побить на фрагменты размером 800 x 600 (как панорамное фото) :

Лучше 2^n x 2^n (например 256x256) проще вычислять по маске номер файла. :)
Да и в файле номер цвета. Файлы смело кладешь в дерево
1\2.raw (можно даже в базу битмап)

по первым двум цифрам нашел файл. По третьим и четвертым точку.
Пока первые две цифры не меняются - файл не перечитываем. Но держим открытым.

Можно даже в параллель гонять. Но все одно - ввод-вывод.

Ну и это входные строки отсортируй по ip.

maytonПосле этого отрендерить zoom-уровни

Ну библиотек которые строят пирамиды уровней...
Собственно, там вообще все просто - две соседние слил и из четырех файлов сделал один.

P.S. только ты в онлайне не считай - сделай tile cache, ну и какую-нибудь библиотеку, типа openlayes взять, то с клиентом, вообще можно не особо заморачиваться.
...
Рейтинг: 0 / 0
42 сообщений из 42, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / java 8 и yeild return C#
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]