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

Сообщение Re[23]: А что мешает заменить JS? от 27.03.2017 16:14

Изменено 28.03.2017 9:11 vdimas

Re[23]: А что мешает заменить JS?
Здравствуйте, Ikemefula, Вы писали:

S>> Кстати про потоки и зоны

I>Ребята пока путают реактор с проактором. Как разберутся, тогда можно и зоны смотреть.

Смишно, эти "ребята" уже сто лет как проглотили ваши "зоны" и выкакали.
C#:
// асинхронная зона
Task task1 = Task.Factory.StartNew(lambda);

// синхронная зона
Task task2 = new Task(lambda);
task2.RunSynchronously();


C++:
// асинхронная зона
future<void> fut1 = async(launch::async, lambda);

// синхронная ленивая зона
future<void> fut2 = async(launch::deferred, lambda);

// синхронная энергичная зона
packaged_task<void()> task(lambda);
future<void> fut2 = task.get_future();
task();


А уж ваши runZoned, так вообще смехотворными получаются:
template<class Lambda, class NormalCallback, class ErrorCallback>
voidRunZoned(Lamdba l, NormalCallback n, ErrorCallback e) {
    try {
        n(l());
    } catch(...) {
        e(current_exception());
    }
}

А слабо показать мне ленивую зону в JS?
Re[23]: А что мешает заменить JS?
Здравствуйте, Ikemefula, Вы писали:

S>> Кстати про потоки и зоны

I>Ребята пока путают реактор с проактором. Как разберутся, тогда можно и зоны смотреть.

Смишно, эти "ребята" уже сто лет как проглотили ваши "зоны" и выкакали.
C#:
// асинхронная зона
Task task1 = Task.Factory.StartNew(lambda);

// синхронная зона
Task task2 = new Task(lambda);
task2.RunSynchronously();


C++:
// асинхронная зона
future<void> fut1 = async(launch::async, lambda);

// синхронная ленивая зона
future<void> fut2 = async(launch::deferred, lambda);

// синхронная энергичная зона
packaged_task<void()> task(lambda);
future<void> fut2 = task.get_future();
task();


А уж ваши runZoned, так вообще смехотворными получаются:
template<class Lambda, class NormalCallback, class ErrorCallback>
void runZoned(Lamdba l, NormalCallback n, ErrorCallback e) {
    try {
        n(l());
    } catch(...) {
        e(current_exception());
    }
}

А слабо показать мне ленивую зону в JS?