Size: a a a

2020 August 19

T

TES in F# Chat
S B
Три процесса == три треда
а синхронизировать их как?
источник

SB

S B in F# Chat
TES
а синхронизировать их как?
Как отдать копию данных от их владельца к тому, кто с ними работает и обратно?
источник

T

TES in F# Chat
да
источник

SB

S B in F# Chat
Очередь сообщений, у каждого треда своя.
источник

T

TES in F# Chat
и потом ещё и сохранить изменения
источник

SB

S B in F# Chat
Очередь сообщений.
источник

T

TES in F# Chat
S B
Очередь сообщений, у каждого треда своя.
так а разве мейлбокс - это не та же очередь сообщений?
источник

SB

S B in F# Chat
TES
так а разве мейлбокс - это не та же очередь сообщений?
Деталей реализации я не знаю, но скорее всего это yet another way сделать это.
источник

SB

S B in F# Chat
Но ты бы мог и сам это сделать для тренировки.
источник

T

TES in F# Chat
S B
Но ты бы мог и сам это сделать для тренировки.
обязательно сделаю.
источник

T

TES in F# Chat
S B
Деталей реализации я не знаю, но скорее всего это yet another way сделать это.
источник

T

TES in F# Chat
именно так
источник

оГ

отец Григорий... in F# Chat
Ilya L Che
Может оно стейтлесс.
Хорошая попытка, но нет :)
источник

T

TES in F# Chat
что опять же приводит меня к выводу, что либо локи, либо мэйлбокс
источник

T

TES in F# Chat
других вариантов просто нет
источник

SB

S B in F# Chat
Идея в том, что каждый трёт в цикле while true читает свою и только свою очередь, это и есть мейлбокс. Если там нет сообщений, поток блокируется и ждёт, жжёт процессор или нет - зависит от реализации. Но как только оно есть, он его читает и синхронно обрабатывает.
источник

SB

S B in F# Chat
И очереди это очень тщательно выверенные точки синхронизации, которые могут быть реализованы в lock-free стиле.
источник

SB

S B in F# Chat
То есть, да, можно обойтись без локов _вообще__.
источник

T

TES in F# Chat
S B
То есть, да, можно обойтись без локов _вообще__.
как? ожидание нового сообщения из очереди - это всегда лок. разве нет?
источник

SB

S B in F# Chat
TES
как? ожидание нового сообщения из очереди - это всегда лок. разве нет?
Нет
источник