
Vladimir
28.10.2017
20:22:47
да, я также погуглил, но я то про каталонские мьютексы спросил

Artem
28.10.2017
20:35:11
есть два способа шаринга памяти - shmctl и mmap. В обоих случаях вопрос что будет если в двух приложениях шареные структуры не совпадают. + если у тебя mmap, то он хранится на ФС, и его можно (условно) открыть в nano и редактировать как душе угодно

Vladimir
28.10.2017
20:36:40

Artem
28.10.2017
20:37:11
компилятор фыркнет

Google

Vladimir
28.10.2017
20:37:22
лол
любое взаимодействия за пределами зоны ответственности компилятора, в понятиях раста - ансейф
и не важно что ты там делаешь, трактуешь массив байт как структуры - ансейф
дальше то, что?
я точно также если буду разделять буфер между потоками и трактовать его по своему, получу тотже ансейф
проблема то не разделяемой памяти

Artem
28.10.2017
20:41:24
так нехер превращать массив байтов в структуры если только совсем не жмёт в профайлере
маршалируй и передавай сообщения как белый человек

Vladimir
28.10.2017
20:42:17
как ты сообщения будешь передавать
не существует сообщений
весь мир матрица
состоящая из байтов
а сообщения это твоя интерпретация байтиков

Google

Artem
28.10.2017
20:43:45
два чая нашему философу под луной

Vladimir
28.10.2017
20:44:51
а о чем вы спорите то?

Vladimir
28.10.2017
20:45:19
о том, почему разделяемая память ансейф

Vladimir
28.10.2017
20:45:35
и?

Vladimir
28.10.2017
20:46:59
ну два варианта:
1) это потому что трактовать байты как структура - априори ансейф
2) это потому что какие-то внешние силы могут прийти и нарушить твой хрупкий мирок

Roman
28.10.2017
21:08:47

Vladimir
28.10.2017
21:21:05

Nikolay
28.10.2017
21:22:04

Phil
28.10.2017
21:22:40
Чета фигово как-то рестрикт работает

Vladimir
28.10.2017
21:23:18
что такое рестрикт

Phil
28.10.2017
21:23:27
В r/o людей до полуночи заслал - захожу, а у них
forever стоит

Vladimir
28.10.2017
21:23:44
хех

Roman
28.10.2017
21:24:32

Vladimir
28.10.2017
21:30:34
зачем?
чтобы асинхронный код не превращался в лапшу

Roman
28.10.2017
21:37:25

Nikolay
28.10.2017
21:38:41
Код о котором нельзя сказать когда он выполнится, пример http request определить за какое количество секунд он выполнится нельзя
и есть 2 вида работы с ним синхронный а ассинхронный
синхронный блокирует все до выполнения запроса, ассинхронный выполняем другие задачи а когда запрос выполнен возвращаемся к нему
Синхронный код
выполняется построчно (т.е если мы что-то ожидаем то мы ничего больше не делаем)
Async
если мы чего-то ждем то делаем то что можно сделать сейчас
Async/await
они не нужны в голанге, здесь синхронная модель программирования

Google

Vladimir
28.10.2017
22:11:27
Что значит синхронная модель программирования
Если горутины и каналв выполняются асинхронно

Nikolay
28.10.2017
22:12:05
Это зеленые потоки в них код выполняется синхронно, асинк авэйты нужны в JS

Vladimir
28.10.2017
22:12:53
Эмм, что значит в них код выполняется синхронно, как тут реализуется асинхронное io

Nikolay
28.10.2017
22:13:38
ты сейчас говоришь о конкурентом доступе как я понял, для этого есть мьютексы и каналы

Vladimir
28.10.2017
22:13:42
А асинк авейт это как раз про "синхронизацию" асинхронного кода

Nikolay
28.10.2017
22:14:09
я вкурсе про что асинк авейты, я прямо сейчас пилю пилю маленькое приложение на JS :)

Vladimir
28.10.2017
22:14:10

Nikolay
28.10.2017
22:14:58
я не могу ответить тебе на этот вопрос почитай про конкурентный доступ в го also know at concurency

Vladimir
28.10.2017
22:15:01
В пределах "треда"

Nikolay
28.10.2017
22:15:44
код выполняется синхронно в разных потоках т.е паралельно
но я могу ошибаться, я не настоящий сварщик

Vladimir
28.10.2017
22:16:45
Ну ты говоришь, код в го не нуждается в асинк авейт так как тут синхронная модель, по сути работа с каналами это тот же асинк авейт

Nikolay
28.10.2017
22:17:12
по сути каналы это некое подобие акторной модели, но не асинк авейты

Vladimir
28.10.2017
22:18:18
Эмм

Nikolay
28.10.2017
22:18:53
посылать сообщение при окончании работы треда и дождаться его заверщения с помощью await это разные вещи
Из какого языка вы пришли?
/report

Google

Vladimir
28.10.2017
22:20:23
Лол)
Я из раста

Nikolay
28.10.2017
22:21:32
Ну тогда привыкайте что golang это язык с маленьким количеством конструкций :)

Vladimir
28.10.2017
22:21:34
И лишь говорю что этот то же средство синхронизации
Как и авейт

Nikolay
28.10.2017
22:22:11
Не совсем, каналы можно использовать для общения разных частей приложения
Это не только средство синхронизации

Vladimir
28.10.2017
22:22:40
А общение не требует синхронизации?

Nikolay
28.10.2017
22:24:22
я могу вам отправить сообщение но я не буду уверен что вы его прочитаете, так же и с каналами я могу отправить сообщение которое не будет обработано какое отношение в данном случае канал имеет отношение к синхронизации? каналы можно использовать в качестве оповщения о окончании работы но это не единственное их применение

Vladimir
28.10.2017
22:25:50
Потому что в данном случае у вас не будет полноценного использования каналов?
Точно также можно мьютексы завести но не делать лок
Не будет синхронизации же
Или даже делать лок, но в одном потоке. Синхронизации не будет
Синхронизация появляется там где есть два узла взаимодействия
Короче вы троллите
Я понял

Nikolay
28.10.2017
22:27:51
я не тролю, просто вы можете послать комманду на начало работы и потом принять оповощение о заверешении команда о начале работы не имеет отношения к синхронизация, но я могу ошибаться

Vladimir
28.10.2017
22:31:29
Ну как же не имеет, вы отправили сообщение (1 поток послал сигнал синхронизации) кто-то его получил (2 поток принял сигнал синхронизации)
Разве у вас каналы не в модуле синк каком нибудь

Google

Nikolay
28.10.2017
22:35:43
Нет, не в модуле синк :)

illiatshurotshka❄️
28.10.2017
22:36:50
как в го решаются проблемы связанные с полиморфизмом ?

Vladimir
28.10.2017
22:42:00
Нет полиморфизма - нет проблем

Kirill
29.10.2017
01:58:29

Damir
29.10.2017
06:12:27
Ребят привет! Только начал изучать, начал с курсов от майл.ру, Приступил к дз, у тут сразу не понятно создал пакет и пытаюсь его импортнуть, но когда сохраняю строчка изчезает
Редактор Visual Studio Code

Alexey
29.10.2017
06:13:37
Потому что он не используется. Надо сразу добавить код, который его использует, и тогда уже сохранять.

Damir
29.10.2017
06:15:21
?
Что то ник пугающий)

?
29.10.2017
06:26:15
?

some_random_anonymous
29.10.2017
06:32:36
Ждём rust > %ANY_LANGUAGE%

dark
29.10.2017
06:35:17
дратути. или, как принято говорить,
_, err = print("Hello, world!")
if err != nil {
return nil, err
}