Информация об изменениях

Сообщение Re[3]: Симуляция на реактивных потоках от 06.01.2017 19:32

Изменено 06.01.2017 19:33 Pauel

Re[3]: Симуляция на реактивных потоках
Здравствуйте, C.A.B, Вы писали:

I>>Непонятно, чем это отличается от обычных акторов.


CAB>Образно можно представить что модель реактивных потоков накладывает некоторые ограничения на акторы. Больше можно узнать здесь.


Я посмотрел

public class InfiniteIncrementNumberPublisher extends AsyncIterablePublisher<Integer> {
    public InfiniteIncrementNumberPublisher(final Executor executor) {
        super(new Iterable<Integer>() {
          @Override public Iterator<Integer> iterator() {
            return new Iterator<Integer>() {
              private int at = 0;
              @Override public boolean hasNext() { return true; }
              @Override public Integer next() { return at++; } // Wraps around on overflow
              @Override public void remove() { throw new UnsupportedOperationException(); }
            };
          }
        }, executor);
    }
}


Адъский адъ эта ваша джава, чисто блудняк, куда ни посмотри

Столько мусора ради одной простой идеи:
@Override public Iterator<Integer> iterator() {
        int i = 0;

        while(true) {
           yield i++;
        }
    }


На крайняк можно было бы сделать примерно так
   ...
   @Override public void iterator(Generator generator) {
    while(true) {
       generator.next(i++);
    }
   }
Re[3]: Симуляция на реактивных потоках
Здравствуйте, C.A.B, Вы писали:

I>>Непонятно, чем это отличается от обычных акторов.


CAB>Образно можно представить что модель реактивных потоков накладывает некоторые ограничения на акторы. Больше можно узнать здесь.


Я посмотрел

public class InfiniteIncrementNumberPublisher extends AsyncIterablePublisher<Integer> {
    public InfiniteIncrementNumberPublisher(final Executor executor) {
        super(new Iterable<Integer>() {
          @Override public Iterator<Integer> iterator() {
            return new Iterator<Integer>() {
              private int at = 0;
              @Override public boolean hasNext() { return true; }
              @Override public Integer next() { return at++; } // Wraps around on overflow
              @Override public void remove() { throw new UnsupportedOperationException(); }
            };
          }
        }, executor);
    }
}


Адъский адъ эта ваша джава, чисто блудняк, куда ни посмотри С таким уровнем абстракций до внятной асинхронной модели как до луны раком.

Столько мусора ради одной простой идеи:
@Override public Iterator<Integer> iterator() {
        int i = 0;

        while(true) {
           yield i++;
        }
    }


На крайняк можно было бы сделать примерно так
   ...
   @Override public void iterator(Generator generator) {
    while(true) {
       generator.next(i++);
    }
   }