Size: a a a

2020 November 24

AM

Artem Molotov in PHP
Алексей Гевондян
это конкурентность. фишка то в том, что ядер много (+ гипертрединг, не очень понимаю его сути если честно, надо вики чтоли читнуть)
Дело в общении проца с другими частями системы. Насколько я помню, ряд интерфейсов работают строго синхронно. Но может спустя N времени такое уже не у всех однопроцессорных систем. Не уверен.
источник

DT

Dmitriy Tkachenko in PHP
Смысл в том, где находится шедулер тасок, если на уровне проца - значит в аппке параллелизм, если на уровне аппки - то конкаренси
источник

DT

Dmitriy Tkachenko in PHP
Переслано от Dmitriy Tkachenko
Абстракшн, бич
источник

AM

Artem Molotov in PHP
Dmitriy Tkachenko
Смысл в том, где находится шедулер тасок, если на уровне проца - значит в аппке параллелизм, если на уровне аппки - то конкаренси
Согласен. Я из-за этого и писал свой комментарий https://t.me/prophp7/247580
источник

MM

Maksim Masiukevich in PHP
Переслано от Sergey Zolotov
concurrency - когда есть конкурентность за ресурсы (время цпу)
parallel - возможность работать параллельно в единицу времени, используя доп ядра цпу

в итоге у тебя может быть:
параллельно, но не конкуретно - между потоками задачи не раскидываются и может быть простой
конкуретно, но не параллельно - когда всего 1 цпу, но пачка задач борются за эфир
конкуретно и параллельно - много цпу и между ними шарятся задачи
источник

MM

Maksim Masiukevich in PHP
Переслано от Anton Shabouta
Вот и ответ. Два ядра никак не обеспечивают параллельность операций на уровне единицы процессора (ибо остается конкурентность чтении/записи регистров (на RISK например) и кэша (тут уже про х86 больше)). Опять же остается всякая экзотика в плане архитектур и ОС. А ну да, еще можно вспомнить занимательные штуки с реальными двух-трех-N процессорными материнками. В моем мире вопросы про конкурентно/параллельно не имеют общего ответа, пока не задана, как минимум, архитектура и ОС
источник

MM

Maksim Masiukevich in PHP
Имхо, что бы лучше это понять можно представить себе кучу больших шариков и бутылочное горлышко. Если шарики пролазят только один за другим по одному, то это не параллельно. Если бутылочных горлышок два (или две бутылки), то они могут пролазить одновременно и это уже параллельно.

При этом через одно бутылочное горлышко может проходить по одному шарику и по очереди (синхронно) или же можно взять сразу два шарика,  "смять" их и  по чуть-чуть пропихивать каждый из двух вместе. Тогда это асинхронно.

При этом можно представить себе бутылки в бутылках и тогда у нас получиться многопроцессорная система.
источник

MM

Maksim Masiukevich in PHP
Переслано от Sergey Protko
синхронно vs асинхронно это про то что кусочки твоей программы выполняются в определенном порядке или в рандомном порядке.

Например вот у тебя есть две функции:

async function foo(i) {
   await first(i);
   await second(i);
}

await Promise.all([
   foo(1),
   foo(2)
])


в случае синхронной работы у тебя порядок в котором будет выполняться код целиком и полностью зависит от порядка вызова и записи выражений:

- first(1)
- second(1)
- first(2)
- second(2)

Асинхронно наоборот - мы не можем знать заранее в каком порядке будут выполняться операции

- first(1)
- first(2)
- second(2) // потому что раньше успел отработать first2
- second(1) // потому что не успел

То есть мы уже не можем в этом случае предугадать в каком порядке чего будет вызываться, потому нам так важны концепции типа промисов и возможность из них цепочки строить что бы сума не сойти.

Так же есть блокирующие и не блокирующие вызовы.

const data = socket.read(1024)


в этом случае весь поток выполнения будет заблокирован пока клиент тебе пришлет все 1024 байт информации или же пока не закроется коннекшен. И пока это не произойдет никто ничего не выполняет. Процесс по сути в idle

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

MM

Maksim Masiukevich in PHP
Переслано от Sergey Protko
это не взаимозаменяемые концепты. У тебя может быть пул потоков (паралельное выполнение) которое внутри крутит блокирующий синхронный код дабы добиться асинхронности в другом треде
источник

RB

Robot Bender in PHP
Кто может дать пару платных консультацый по php
источник

AK

Aleksandr Kvintilyan... in PHP
Кто угодно, зависит от вопросов -)
источник

AL

Anton Lakotka in PHP
Robot Bender
Кто может дать пару платных консультацый по php
Пиши @Eraice он самый опытный. и точно даст хорошие советы за маленькую мзду
источник

A

Arky in PHP
ы
источник

С

Сергей in PHP
Бесплатно)?
источник

М

Михаил Victorious... in PHP
Всем привет
Помогите, пожалуйста, я вообще не понимаю что происходит
Есть код главной страницы на джумле
Мне нужно просто скрипт в body вставить, но я не могу понять в каком файле искать html
источник

IV

I V in PHP
Джумла - гавно.
источник

АС

Альберт Степанцев... in PHP
Михаил Victorious
Всем привет
Помогите, пожалуйста, я вообще не понимаю что происходит
Есть код главной страницы на джумле
Мне нужно просто скрипт в body вставить, но я не могу понять в каком файле искать html
не тот чат
источник

М

Михаил Victorious... in PHP
А в какой надо?
источник

АС

Альберт Степанцев... in PHP
посмотрите в закрепе ссылку
источник

АС

Альберт Степанцев... in PHP
а, сорри
источник