Re[36]: Для тех, кто смеется над JavaScript
От: Sharov Россия  
Дата: 29.06.20 19:48
Оценка: -1
Здравствуйте, Ikemefula, Вы писали:

I>Але — тут вся подветка про многозадачность. Товарищ на полном серьез утверждал, что

I>

I>await серилизует доступ к ресурсу


А разве нет?

await op1()
await op2()

Не последовательно выполняться? Во всяком случае в примере с SO, который я привел выше, rc уже не будет. Поэтому работу с памятью таки сериализует.
Кодом людям нужно помогать!
Re[37]: Для тех, кто смеется над JavaScript
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 29.06.20 20:28
Оценка:
Здравствуйте, Sharov, Вы писали:

I>>Але — тут вся подветка про многозадачность. Товарищ на полном серьез утверждал, что

I>>

I>>await серилизует доступ к ресурсу


S>А разве нет?


S>await op1()

S>await op2()

Авайт выстраивает цепочку, связывает два контекста, условно — начало и конец. А серилизация доступа к ресурсу это тот самый Lock или Mutex, когда принуждаем все параллельные цепочки выстраиваться в очередь.

S>Не последовательно выполняться? Во всяком случае в примере с SO, который я привел выше, rc уже не будет. Поэтому работу с памятью таки сериализует.


Последовательно — в пределах одной цепочки. Но другие то могут спокойно обращаться к ресурсу. Что, собственно, мои примеры и показывают.
Re[38]: Для тех, кто смеется над JavaScript
От: Sharov Россия  
Дата: 29.06.20 21:33
Оценка: -1
Здравствуйте, Ikemefula, Вы писали:

S>>await op1()

S>>await op2()
I>Авайт выстраивает цепочку, связывает два контекста, условно — начало и конец. А серилизация доступа к ресурсу это тот самый Lock или Mutex, когда принуждаем все параллельные цепочки выстраиваться в очередь.
S>>Не последовательно выполняться? Во всяком случае в примере с SO, который я привел выше, rc уже не будет. Поэтому работу с памятью таки сериализует.
I>Последовательно — в пределах одной цепочки. Но другие то могут спокойно обращаться к ресурсу. Что, собственно, мои примеры и показывают.

Кто такие другие? Всего ве операции op1 и op2. Запускаем op2 строго после op1 отработает, разве нет? А вот если без await -- другое дело. И опять речь не об io, а о
переменной в памяти.
Кодом людям нужно помогать!
Re[39]: Для тех, кто смеется над JavaScript
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 30.06.20 07:15
Оценка:
Здравствуйте, Sharov, Вы писали:

S>>>Не последовательно выполняться? Во всяком случае в примере с SO, который я привел выше, rc уже не будет. Поэтому работу с памятью таки сериализует.

I>>Последовательно — в пределах одной цепочки. Но другие то могут спокойно обращаться к ресурсу. Что, собственно, мои примеры и показывают.

S>Кто такие другие? Всего ве операции op1 и op2. Запускаем op2 строго после op1 отработает, разве нет? А вот если без await -- другое дело. И опять речь не об io, а о

S>переменной в памяти.

Ок, начинаем сначала. Протокол доступа какой? Тебе почему то представляется i++. Такое далеко не всегда случается.

Попробуй реализовать i++ используя вот эти функции
async function read() { return global_i }

async function write(v) { global_i = v }


На самом деле нужно смотреть именно ио, т.к. взрослые приложения прибиты к нему гвоздями. Соответственно все твои i++ это попытки теоретизировать.
Re[40]: Для тех, кто смеется над JavaScript
От: Sharov Россия  
Дата: 30.06.20 08:16
Оценка: -1
Здравствуйте, Ikemefula, Вы писали:


I>Ок, начинаем сначала. Протокол доступа какой? Тебе почему то представляется i++. Такое далеко не всегда случается.


Как в примере SO, баланс. Если расставить await перед add$50, то никаких гонок не будет. Речь не про io.

I>На самом деле нужно смотреть именно ио, т.к. взрослые приложения прибиты к нему гвоздями. Соответственно все твои i++ это попытки теоретизировать.


У нас и был концептуальный спор.
Кодом людям нужно помогать!
Re[41]: Для тех, кто смеется над JavaScript
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 30.06.20 08:30
Оценка: +1
Здравствуйте, Sharov, Вы писали:

I>>Ок, начинаем сначала. Протокол доступа какой? Тебе почему то представляется i++. Такое далеко не всегда случается.

S>Как в примере SO, баланс. Если расставить await перед add$50, то никаких гонок не будет. Речь не про io.

У них пример кривой, поэтому есть иллюзия, что авайтом все можно пофиксать и выстроить все запросы в очередь. На самом деле — нет, такого никогда не бывает. В веб приложении запросы приходят параллельно, их невозможно встроить в линеечку одним авайтом.

I>>На самом деле нужно смотреть именно ио, т.к. взрослые приложения прибиты к нему гвоздями. Соответственно все твои i++ это попытки теоретизировать.

S>У нас и был концептуальный спор.

Никакого концептуально спора — ты даже не пробовал запустить примеры.
Re: Для тех, кто смеется над JavaScript
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 05.07.20 11:13
Оценка: :)
Здравствуйте, Lazytech, Вы писали:

L>Для тех, кто смеется над JavaScript


И те, кто не смеются над JavaScript, так же далеки от него, как и те, кто смеются.

Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.