Огромное спасибо за Ваш труд, за последние пол года пересмотрела очень много материалов и очень часто Ваши ролики спасали ситуацию. Всегда чётко, понятно, без воды и километровых пауз, очень структурировано и последовательно. На примере этого курса очень остро чувствуется разница, даже с первых роликов, буквально вчера закончила курс от Авито по многопоточности и это был тихий ужас. В общем, надеюсь, вы продолжаете обучать, потому что в сфере программирования - большая редкость так понятно доносить информацию. Ещё раз спасибо.
@iddqdsnegiri2170 Жыл бұрын
Спасибо огромное, смотрел подлодку, но там конечно почти ничего не объясняют, здесь все четко и подробно... отдельное спасибо за 4К - на макбуке в худшем качестве смотреть это капец.
@aricks2 жыл бұрын
спасибо за урок, но вот если убрать из кода вызовы методов lock() и unlock() то собственно вывод будет ровно таким же. вы говорите что нужно разбираться до косточек, но этот же пример с массивом не разобрали, а просто показали что оно вот это выводит, магически
@raidenyamato Жыл бұрын
если в этом примере убрать анлок, результат тот же будет ничего не заблочится. так это вообще ни на что не влияет. разница будет только если вместо анлок, лок поставить, тогда массив сможет уже добавить вторую строку. это работает как задумывалось, если инициализировать этот мутекс вне класса, а потом добавить этот блок мутекса в клоужер перед вызовом массива, тогда да, второе срабатывание массива не сработает, без анлока
@m.d.20297 ай бұрын
Потому что все в одном (главном) потоке выполняется. Тут нет других потоков, чего тут блокировать и от чего? Пример совсем не показательный.
@theswiftdevelopers13014 жыл бұрын
Куда присоединиться: 1.Наше сообщество в вк(добаляемся к более 3,5 тыс) = vk.com/theswiftdevelopers 2.В телеграмме мы помогаем новичкам и всем желающим (нас больше 1,500 тыс) - t.me/joinchat/BAn0BkLMGrfpDYy2cnysNg p.s Домашние задание: смотрите в группах! Если все понравилось ты знаешь что делать;) Ставь лайк и пиши комент! :)
@ВикторПеливан4 жыл бұрын
Мне Playground выдает warning на defer: ['defer' statement at end of scope always executes immediately; replace with 'do' statement to silence this warning]
@mak_whisk3 жыл бұрын
Спасибо
@__terens666__53 жыл бұрын
большое вам спасибо
@arnoldvelichko92376 жыл бұрын
спасибо)
@raidenyamato Жыл бұрын
если в этом примере убрать анлок, результат тот же будет ничего не заблочится. так это вообще ни на что не влияет. разница будет только если вместо анлок, лок поставить, тогда массив сможет уже добавить вторую строку. это работает как задумывалось, если инициализировать этот мутекс вне класса, а потом добавить этот блок мутекса в клоужер перед вызовом массива, тогда да, второе срабатывание массива не сработает, без анлока на си class SaveThread { init() { } func someMethod(completion: () -> ()) { completion() } } var mutex = pthread_mutex_t() pthread_mutex_init(&mutex, nil) var array = [String]() let saveThread = SaveThread() saveThread.someMethod { pthread_mutex_lock(&mutex) print("test") array.append("1 thread") pthread_mutex_unlock(&mutex) } array.append("2 thread") причем почему то это так работает только в случае с си, на обжективе и это не работает, тут работает блок только если class SaveThread { init() { } func someMethod(completion: () -> ()) { completion() } } var mutex = NSLock() saveThread.someMethod { print("test") mutex.lock() array.append("1 thread") mutex.lock() } array.append("2 thread")
@RiadSultanov Жыл бұрын
ничего из того что ты сказал не работает(
@raidenyamato Жыл бұрын
@@RiadSultanov у меня работало, иначе бы и не написал. Ты что-то не так понял или не так переписал Скопируй пример на си который. И там в методе сомМетод, попробуй менять лок на анлок и будет разница. Или просто его закоменть, предварительно вначале метода сделав лок и тоже лок останется
@kiryllllАй бұрын
С NSLock - lock() вызывается дважды: Calling the lock method twice on the same thread will lock up your thread permanently
@alexgrigoriev71333 жыл бұрын
👍
@TheZazatv6 жыл бұрын
про семафору в дальнейшем будет?
@theswiftdevelopers13016 жыл бұрын
да
@theswiftdevelopers13016 жыл бұрын
NSLock это тоже симафор
@TheZazatv6 жыл бұрын
спасибо)
@MsSkylife6 жыл бұрын
Полезная ин-фа, но зачем в плейграунде мучаться? Можно же сделать примитивное приложение и в нем показывать, так и понятней всем будет)
@theswiftdevelopers13016 жыл бұрын
так быстрее получаеться, народ просит не выше 15 мин уроки делать
@Architect_Mobile6 жыл бұрын
Получается диспач - это вообще ерунда))) ?? Не какая не многопоточность ? Не понимаю
@theswiftdevelopers13016 жыл бұрын
мы до диспечера дойдем дальше, можешь только без мата плиз?
@Architect_Mobile6 жыл бұрын
Хорошо))
@m.d.20297 ай бұрын
Ну и шляпа!))) В этом коде все выполняется в одном (главном) потоке ,.. никаких других потоков мы не создаем.. зачем тут вообще мьютексы?? Что и от чего блокировать?? Тут ОДИН поток
@MegaDigri6 жыл бұрын
🔋🔋🔋🔋🔋🔋🔋🔋🔋
@ЯрославГрицунь6 жыл бұрын
4:04 безопасный будет safe
@Architect_Mobile6 жыл бұрын
Не умничай) А то мои люди тебя найдут ))
@theswiftdevelopers13016 жыл бұрын
Ярослав Грицунь , спасибо, я знаю. Когда спешишь уложиться в 15 мин получаються колизии)