Size: a a a

2019 January 12

A

Anton in ru.nim.talks
opqx opqx
понятно, спасибо за ответ.
Сейчас перечитал свое сообщение, не однопоточности, а многопоточности конечно. А так да, какие могут быть проблемы в однопоточности. Извините за косноязычие.
источник

oo

opqx opqx in ru.nim.talks
Anton
Сейчас перечитал свое сообщение, не однопоточности, а многопоточности конечно. А так да, какие могут быть проблемы в однопоточности. Извините за косноязычие.
Я кончено не эксперт но горути это разве не про ассинхронность ?
источник

YG

Yuriy Glukhov in ru.nim.talks
к слову, горутины в ниме можно заиметь, при желании. в ниме есть поддержка gcc-go-gc. только тссс.
источник

oo

opqx opqx in ru.nim.talks
у нима вроде с ассинхронностью все норм или я чего не знаю  ?
источник

A

Anton in ru.nim.talks
да, но не только, горутина может исполняться на другом процессоре и есть каналы, чтобы обмениваться данными между ними. В многопоточности самая большая проблема это гонки данных и дедлоки. Кардинально эту проблему решили только в Rust.
источник

YG

Yuriy Glukhov in ru.nim.talks
смотря что иметь ввиду под асинхронностью =). в ниме она "однопоточная", в го - "многопоточная".
источник

oo

opqx opqx in ru.nim.talks
видать придется мне про го почитать
источник

oo

opqx opqx in ru.nim.talks
тоесть получается горутины не в одном потоке ?
источник

A

Anton in ru.nim.talks
Yuriy Glukhov
смотря что иметь ввиду под асинхронностью =). в ниме она "однопоточная", в го - "многопоточная".
именно
источник

YG

Yuriy Glukhov in ru.nim.talks
Anton
да, но не только, горутина может исполняться на другом процессоре и есть каналы, чтобы обмениваться данными между ними. В многопоточности самая большая проблема это гонки данных и дедлоки. Кардинально эту проблему решили только в Rust.
раст не дает семантику горутин своей системой типов. он просто "лочит" данные в бороу чекере. го не решает проблему никаких рейсов. раст ее решает чуть лучше (на низком уровне), но на высоком это сложнее... каналы и обмен сообщениями - это более-менее тривиально в любом императивном языке. шаренные данные - это сложно (датарейсы, ага) в любом языке.
источник

oo

opqx opqx in ru.nim.talks
я сейчас почитал и мне показалось что горутины это что-то типа легковесных потоков которые могут выполняться на рызных ядрах и сам го через внитренний планировщик с этим добром разбирается.
источник

oo

opqx opqx in ru.nim.talks
Но если я правильно понял у Nim нет никаких с этим проблем и многопоточность и ассинхроность есть и нормально работают
источник

YG

Yuriy Glukhov in ru.nim.talks
да, только шедюлера не хватает =)
источник

oo

opqx opqx in ru.nim.talks
а горутины это особенность go приятная и удобная
источник

oo

opqx opqx in ru.nim.talks
Yuriy Glukhov
да, только шедюлера не хватает =)
где ?
источник

oo

opqx opqx in ru.nim.talks
Короче я спокоен за Nim )
источник

YG

Yuriy Glukhov in ru.nim.talks
горутины - это другая модель исполнения. нужно думать по-разному когда пишешь go против nim/c/c++/c#/js/typescript/java/etc. на уровне горутины любое ИО такое же "блокирующее/синхронное", как и любая другая ф-ция. в более классических можелях выполнения такая роскошь недопустима. но хорошая новость в том, что го рантайм (шедюлер, гц, горутины, каналы, и тд) можно прикрутить к ниму, и другим языкам наверное тоже при желании.
источник

oo

opqx opqx in ru.nim.talks
на уровне горутины любое ИО такое же "блокирующее/синхронное"   -  ИО - это что ?
источник

YG

Yuriy Glukhov in ru.nim.talks
input/output. сокеты, фд, ипц, итд
источник

oo

opqx opqx in ru.nim.talks
понял
источник