Сообщение Re[34]: Для тех, кто смеется над JavaScript от 29.06.2020 12:27
Изменено 29.06.2020 12:28 Serginio1
Re[34]: Для тех, кто смеется над JavaScript
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, Serginio1, Вы писали:
I>>>Ты хочешь получить гонки на одной задаче? Гонки это когда много задач Или много под-задач.
S>> Был вопрос про однопоточность. По сути подразумевалось про однозадачность для данного объекта.
I>Ты путаешь однопоточность и однозадачность.
Я тебе про однозадачность уже много расписывал. Ничего я не путаю.
S>>>>Если задачи выполняются через await никакому другому эта задача не уйдет!
S>>Если ты запустил несколько задач без await, то это уже многозадачность!
I>Капитан, я про это и пишу!
А я тебе пишу про однозадачность!
S>> Это не сахар, а конечный автомат. Внутри стоит yield.
I>Стоит или не стоит, это прячется компилятором. Один из вариантов это трансляция в промисы, второй вариант — нативный await, еще вариант — yield, еще вариант — конечный вариант, самый упоротый из всех.
I>И, о ужас, еще вариант — обычные колбеки.
I>Функционально все это сводится к колбекам. Никаких преимуществ сверх этого нет и не будет.
S>> А при чем тут мьютекс? Ты же сам пишешь " Авайт всего лишь связывает последовательность", то есть части awaite выполняются последовательно.
I>А потому, что я изначально пишу про многозадачность, а именно — асинхронный однопоточный код.
Потому, что ты не читатель! Я тебе сразу написал про однозадачность.
S>>О каких нескольких цепочках идет речь? Вторую цепочку ты можешь запустить без awaite. Тогда и синхронному коду придет кирдык!
I>Я именно про это и пишу.
S>>Возьми мой код с await и посмотри. Если там будет разнобой значит дерьмо ваша JS.
I>Ты похоже влез и начал не читая махать шашкой.
I>Читай себя
I>
I>Собственно, здесь ты наврал. Во первых, исполнение жээс это один поток, а во вторых, читать и записывать хоть откуда не выйдет и я показал, почему именно не выйдет.
S>>Если, же ты хочешь писать многозадачный код, то неатомарный код тебе нужно синхронизировать.
I>И про это я тоже пишу. Все мои примерно про многозадачность в жээсе и про необходимость синхронизации.
S>>Но речь то идет про однозадачность. Будь она синхронная или асинхронная.
I>
S>>Все твои примеры из многозадачности от которой не спасает и синхронный код.
I>Бинго! С этого все и начиналось. Только надо было читать внимательно.
Во во. Я тебе сразу писал про однозадачность
B i++ будет атомарным при любом режиме.
В .Net используют для SpinLock вернее Interlocked.Increment(ref nextTaskIndex)
Ладно. Зря потратил время. Извини. Завелся
I>Здравствуйте, Serginio1, Вы писали:
I>>>Ты хочешь получить гонки на одной задаче? Гонки это когда много задач Или много под-задач.
S>> Был вопрос про однопоточность. По сути подразумевалось про однозадачность для данного объекта.
I>Ты путаешь однопоточность и однозадачность.
Я тебе про однозадачность уже много расписывал. Ничего я не путаю.
S>>>>Если задачи выполняются через await никакому другому эта задача не уйдет!
S>>Если ты запустил несколько задач без await, то это уже многозадачность!
I>Капитан, я про это и пишу!
А я тебе пишу про однозадачность!
S>> Это не сахар, а конечный автомат. Внутри стоит yield.
I>Стоит или не стоит, это прячется компилятором. Один из вариантов это трансляция в промисы, второй вариант — нативный await, еще вариант — yield, еще вариант — конечный вариант, самый упоротый из всех.
I>И, о ужас, еще вариант — обычные колбеки.
I>Функционально все это сводится к колбекам. Никаких преимуществ сверх этого нет и не будет.
S>> А при чем тут мьютекс? Ты же сам пишешь " Авайт всего лишь связывает последовательность", то есть части awaite выполняются последовательно.
I>А потому, что я изначально пишу про многозадачность, а именно — асинхронный однопоточный код.
Потому, что ты не читатель! Я тебе сразу написал про однозадачность.
S>>О каких нескольких цепочках идет речь? Вторую цепочку ты можешь запустить без awaite. Тогда и синхронному коду придет кирдык!
I>Я именно про это и пишу.
S>>Возьми мой код с await и посмотри. Если там будет разнобой значит дерьмо ваша JS.
I>Ты похоже влез и начал не читая махать шашкой.
I>Читай себя
I>
I>будут вызываться только в одном методе (await гарантирует последовательность вызовов из разных потоков)
I>Читай и записывай хоть откуда. Тоже, что и при синхронном.
I>Собственно, здесь ты наврал. Во первых, исполнение жээс это один поток, а во вторых, читать и записывать хоть откуда не выйдет и я показал, почему именно не выйдет.
S>>Если, же ты хочешь писать многозадачный код, то неатомарный код тебе нужно синхронизировать.
I>И про это я тоже пишу. Все мои примерно про многозадачность в жээсе и про необходимость синхронизации.
S>>Но речь то идет про однозадачность. Будь она синхронная или асинхронная.
I>
S>>Все твои примеры из многозадачности от которой не спасает и синхронный код.
I>Бинго! С этого все и начиналось. Только надо было читать внимательно.
Во во. Я тебе сразу писал про однозадачность
B i++ будет атомарным при любом режиме.
В .Net используют для SpinLock вернее Interlocked.Increment(ref nextTaskIndex)
Ладно. Зря потратил время. Извини. Завелся
Re[34]: Для тех, кто смеется над JavaScript
Здравствуйте, Ikemefula, Вы писали:
I>Здравствуйте, Serginio1, Вы писали:
I>>>Ты хочешь получить гонки на одной задаче? Гонки это когда много задач Или много под-задач.
S>> Был вопрос про однопоточность. По сути подразумевалось про однозадачность для данного объекта.
I>Ты путаешь однопоточность и однозадачность.
Я тебе про однозадачность уже много расписывал. Ничего я не путаю.
S>>>>Если задачи выполняются через await никакому другому эта задача не уйдет!
S>>Если ты запустил несколько задач без await, то это уже многозадачность!
I>Капитан, я про это и пишу!
А я тебе пишу про однозадачность!
S>> Это не сахар, а конечный автомат. Внутри стоит yield.
I>Стоит или не стоит, это прячется компилятором. Один из вариантов это трансляция в промисы, второй вариант — нативный await, еще вариант — yield, еще вариант — конечный вариант, самый упоротый из всех.
I>И, о ужас, еще вариант — обычные колбеки.
I>Функционально все это сводится к колбекам. Никаких преимуществ сверх этого нет и не будет.
S>> А при чем тут мьютекс? Ты же сам пишешь " Авайт всего лишь связывает последовательность", то есть части awaite выполняются последовательно.
I>А потому, что я изначально пишу про многозадачность, а именно — асинхронный однопоточный код.
Потому, что ты не читатель! Я тебе сразу написал про однозадачность.
S>>О каких нескольких цепочках идет речь? Вторую цепочку ты можешь запустить без awaite. Тогда и синхронному коду придет кирдык!
I>Я именно про это и пишу.
S>>Возьми мой код с await и посмотри. Если там будет разнобой значит дерьмо ваша JS.
I>Ты похоже влез и начал не читая махать шашкой.
I>Читай себя
I>
I>Собственно, здесь ты наврал. Во первых, исполнение жээс это один поток, а во вторых, читать и записывать хоть откуда не выйдет и я показал, почему именно не выйдет.
S>>Если, же ты хочешь писать многозадачный код, то неатомарный код тебе нужно синхронизировать.
I>И про это я тоже пишу. Все мои примерно про многозадачность в жээсе и про необходимость синхронизации.
S>>Но речь то идет про однозадачность. Будь она синхронная или асинхронная.
I>
S>>Все твои примеры из многозадачности от которой не спасает и синхронный код.
I>Бинго! С этого все и начиналось. Только надо было читать внимательно.
Во во. Я тебе сразу писал про однозадачность
B i++ будет атомарным при любом режиме.
В .Net используют для SpinLock вернее Interlocked.Increment(ref nextTaskIndex)
Ладно. Зря потратил время. Извини. Завелся. Только вот за что минусы я так и не понял
I>Здравствуйте, Serginio1, Вы писали:
I>>>Ты хочешь получить гонки на одной задаче? Гонки это когда много задач Или много под-задач.
S>> Был вопрос про однопоточность. По сути подразумевалось про однозадачность для данного объекта.
I>Ты путаешь однопоточность и однозадачность.
Я тебе про однозадачность уже много расписывал. Ничего я не путаю.
S>>>>Если задачи выполняются через await никакому другому эта задача не уйдет!
S>>Если ты запустил несколько задач без await, то это уже многозадачность!
I>Капитан, я про это и пишу!
А я тебе пишу про однозадачность!
S>> Это не сахар, а конечный автомат. Внутри стоит yield.
I>Стоит или не стоит, это прячется компилятором. Один из вариантов это трансляция в промисы, второй вариант — нативный await, еще вариант — yield, еще вариант — конечный вариант, самый упоротый из всех.
I>И, о ужас, еще вариант — обычные колбеки.
I>Функционально все это сводится к колбекам. Никаких преимуществ сверх этого нет и не будет.
S>> А при чем тут мьютекс? Ты же сам пишешь " Авайт всего лишь связывает последовательность", то есть части awaite выполняются последовательно.
I>А потому, что я изначально пишу про многозадачность, а именно — асинхронный однопоточный код.
Потому, что ты не читатель! Я тебе сразу написал про однозадачность.
S>>О каких нескольких цепочках идет речь? Вторую цепочку ты можешь запустить без awaite. Тогда и синхронному коду придет кирдык!
I>Я именно про это и пишу.
S>>Возьми мой код с await и посмотри. Если там будет разнобой значит дерьмо ваша JS.
I>Ты похоже влез и начал не читая махать шашкой.
I>Читай себя
I>
I>будут вызываться только в одном методе (await гарантирует последовательность вызовов из разных потоков)
I>Читай и записывай хоть откуда. Тоже, что и при синхронном.
I>Собственно, здесь ты наврал. Во первых, исполнение жээс это один поток, а во вторых, читать и записывать хоть откуда не выйдет и я показал, почему именно не выйдет.
S>>Если, же ты хочешь писать многозадачный код, то неатомарный код тебе нужно синхронизировать.
I>И про это я тоже пишу. Все мои примерно про многозадачность в жээсе и про необходимость синхронизации.
S>>Но речь то идет про однозадачность. Будь она синхронная или асинхронная.
I>
S>>Все твои примеры из многозадачности от которой не спасает и синхронный код.
I>Бинго! С этого все и начиналось. Только надо было читать внимательно.
Во во. Я тебе сразу писал про однозадачность
B i++ будет атомарным при любом режиме.
В .Net используют для SpinLock вернее Interlocked.Increment(ref nextTaskIndex)
Ладно. Зря потратил время. Извини. Завелся. Только вот за что минусы я так и не понял