Народ, такой вопрос, есть функция которую вызывает пользователь через команду,

в ней выполняются определенные действия через таймер(то что внутри таймера улетает в вебАПИ), и вот в момент выполнения этой функции ее зовет второй пользователь, то я правильно понимаю что для него вызовется отдельный "поток" с этой функцией, тоесть они будут чередоваться в работе при возвращениях с вебАПИ? П.с. знаю что сам джиес однопоточный, но с вебАПИ его можно попробовать сделать многопоточным, но я не уверен что библиотека будет ловить новые данные в тот момент пока функция еще висит в вебАПИ

33 ответов

7 просмотров

JS вроде как в любом случае однопоточный. Но может быть асинхронным. То есть, по факту, может выполняться одновременно несколько функций, но последовательно во времени, как-то так. Из-за этого, если таких запросов будет слишком много(зависит ещё и от сложности функции), бот может подвисааать...

Евгений- Автор вопроса
🏳️‍🌈Сель
JS вроде как в любом случае однопоточный. Но может...

Это я понимаю, по идее второй экземпляр функции тоже должен вызваться, пока первая висит в вебАПИ, но чет сомнения есть... И не в любом яп такое, в питоне есть управление потоками, джава вообще каждый процесс отдельным потоком кидает, а в джиес приходится хитрить с ивентлупом)

Евгений
Это я понимаю, по идее второй экземпляр функции то...

Что ты имеешь ввиду под вебАПИ? Я не совсем понимаю, поэтому пока не могу ответить както.

Евгений
Это я понимаю, по идее второй экземпляр функции то...

Хаха управление потоками в питоне ._. Да там-то будет ещё медленнее чем без них Там вообще лютая дичь насколько я помню

Евгений- Автор вопроса
🏳️‍🌈Сель
Что ты имеешь ввиду под вебАПИ? Я не совсем понима...

Вот это, благодаря вебАПИ и достигается та асинхронность, ибо мы туда перекидываем команды которые нужно заморозить на время, но при этом поток не блокируется и продолжается.

Евгений- Автор вопроса
🏳️‍🌈Сель
Хаха управление потоками в питоне ._. Да там-то бу...

ну хз, мне нравился, какой по скорости js пока не знаю, не пробовал)

Евгений
screenshot Вот это, благодаря вебАПИ и достигается та асинхро...

Ах да, вспомнил. Оказывается это так называется. Я уж и забыл.

Я что-то немного запутался в сути вопроса...

Евгений- Автор вопроса
🏳️‍🌈Сель
Я что-то немного запутался в сути вопроса...

Вызовется ли второй раз функция если прошлый екземляр ее еще в процессе работы, но висит в вебАПИ в заморозке, по идее должно сколько угодно раз вызываться, но я на js пока толком не писал и решил уточнить у более опытный

Евгений
Вызовется ли второй раз функция если прошлый екзем...

Да, должна вызваться Там же просто стек, контекст, аргументы... Короче, должна вызваться. Причём по идеи порядок вызова должен сохраниться.

Евгений- Автор вопроса
🏳️‍🌈Сель
Да, должна вызваться Там же просто стек, контекст,...

Отлично, я это и хотел узнать, вроде и понимаю, но чет сомневался, спасибо вам😉

Евгений
screenshot Вот это, благодаря вебАПИ и достигается та асинхро...

Наглая ложь) тут прям на картинке же показано, как так то

Евгений
screenshot Вот это, благодаря вебАПИ и достигается та асинхро...

асинхронность достигается благодаря неблокирующим операциям в общем и libuv в частности

Евгений- Автор вопроса
Oscar S
Наглая ложь) тут прям на картинке же показано, как...

Так на картинке ж и показано, что не блокирующие операции летят в вебАПИ и тусуются там пока они не будут нужны, тогда они и возвращаются обратно в нормальный поток)

Евгений
Так на картинке ж и показано, что не блокирующие о...

а то что ты говоришь на картинке помечено как event loop

не, в ноде примерно также, только немного event loop изменен и вместо web api, node api

Евгений- Автор вопроса
Oscar S
не, в ноде примерно также, только немного event lo...

Я ж за это и говорю, просто назвал не так)

Евгений
Вызовется ли второй раз функция если прошлый екзем...

В каком нахуй вебапи он висит, вы ебанулись? Заморозка лежит в queue очереди и ивентлупом обрабатывается

Евгений
screenshot Вот это, благодаря вебАПИ и достигается та асинхро...

Вообще то ассинхроность достигается с помощью event loop и callback queue

Евгений- Автор вопроса
vladimka
Вообще то ассинхроность достигается с помощью even...

Вебапи это и есть часть евент лупа, в ноде нодапи вроде называется)

гλI3 🇺🇦 гΔφ 🐈 ябвдулавич
но не бвстрее плюсов и хаскелла

Ой, с новым годом ещё бы поздравил. 2 недели прошло. Конечно не быстрее. Как js может быть быстрее языка на котором написано?)

гλI3 🇺🇦 гΔφ 🐈 ябвдулавич
но не бвстрее плюсов и хаскелла

вычисления подключаются через напи модульно

Похожие вопросы

Обсуждают сегодня

Кто создает тут ботов для телеграмм групп ?
Antskup
8
Я хочу запустить свой проект в тг. Что-то между пирамидой и майнилкой. Еще подобного ничего не было. Уникальная идея. Нужен именно не бот, а приложение. С ввод, выводом тон...
Павел А.
6
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
13
господа, когда у вас в боте есть локализация (ру + англ, остальные языки пока не планируются), вы на первом старте как с языком решаете вопрос: смотрите на language_code приле...
Denis 🐍|👑 | darling! 🥰
5
Я колись ставив гуглу антиспам 3.0, може і норм, але мені не дуже зайшло. Теж думав тиждень, що його і куди. Зупинився на трех варіантах відразу всі три і включив 1. Перевір...
𝓔𝓾𝓰𝓮𝓷𝓮𝓥 J
2
Всем привет, Добавил в плагин определение user agent public function registerMarkupTags() { return [ 'filters' => [ 'staticPage' => ['RainLab\Pages\Cl...
John Norton Kruger
3
Мне нужен бот который в группе будет за неправильное оформление ордера удалять и высылать как правильно составить его Кто такой напишет?
Antskup
1
А чего при переходе с 2 на 3 все что в билдере сделано тютю?
Денис Александрович
5
где собака, админ группы? нычкуется и боится проявить волю, в толерантность еще не наигрался? @yelizariev
Ognezar
61
Карта сайта