Telegram Group & Telegram Channel
Разбор принципов RunLoop на примере создания своей собственной командной оболочки для macOS
Отличный материал для чтения в воскресенье того, чтобы отложить до понедельника

Когда мы обнаруживаем, что слушаем события, реагируем на них, а затем возвращаемся к прослушиванию новых событий, то перед нами Event-Loop.
Event-Loop — это настолько распространенный сценарий, что Apple решила предоставить нам модель для последовательной обработки таких циклов.

📖 В этом посте рассматривается, как работает RunLoop и приводится пример создания командной оболочки (он же shell или шелл) для наглядности.

Одним из наиболее распространенных случаев цикла событий является REPL (Read Eval Print Loop). И, вероятно, одним из наиболее часто используемых REPL являются оболочки (bash, zsh, fish, в зависимости от того, что вы предпочитаете).

Командная оболочка работает очень знакомо: ожидает вашего ввода —> считывает информацию —> выполняет отправленные вами команды —> возвращается к ожиданию следующего ввода.

В примере создаётся их аналог, который имеет только одну полезную команду (две, если считать exit), а именно выводит список файлов в текущем каталоге с помощью ls.

В той же macOS мы получаем объект RunLoop с каждым потоком, независимо от того, как поток создается (через pthread или Thread). Кроме того, использование RunLoop не является обязательным, но ваш поток может создать его по запросу, если вам это нужно.

Почему стоит прочесть этот материал?

💡 С помощью наглядного примера объясняется, почему не рекомендуется запускать блокирующие задачи в основном потоке в ваших приложениях (как для macOS, так и для iOS). А ещё вы сможете детальнее изучить преимущества использования RunLoop.

🛠 Код из примера доступен на GitHub.

@iOS Dev
👍21🔥5👏1😁1



tg-me.com/iosdev/522
Create:
Last Update:

Разбор принципов RunLoop на примере создания своей собственной командной оболочки для macOS
Отличный материал для чтения в воскресенье того, чтобы отложить до понедельника

Когда мы обнаруживаем, что слушаем события, реагируем на них, а затем возвращаемся к прослушиванию новых событий, то перед нами Event-Loop.
Event-Loop — это настолько распространенный сценарий, что Apple решила предоставить нам модель для последовательной обработки таких циклов.

📖 В этом посте рассматривается, как работает RunLoop и приводится пример создания командной оболочки (он же shell или шелл) для наглядности.

Одним из наиболее распространенных случаев цикла событий является REPL (Read Eval Print Loop). И, вероятно, одним из наиболее часто используемых REPL являются оболочки (bash, zsh, fish, в зависимости от того, что вы предпочитаете).

Командная оболочка работает очень знакомо: ожидает вашего ввода —> считывает информацию —> выполняет отправленные вами команды —> возвращается к ожиданию следующего ввода.

В примере создаётся их аналог, который имеет только одну полезную команду (две, если считать exit), а именно выводит список файлов в текущем каталоге с помощью ls.

В той же macOS мы получаем объект RunLoop с каждым потоком, независимо от того, как поток создается (через pthread или Thread). Кроме того, использование RunLoop не является обязательным, но ваш поток может создать его по запросу, если вам это нужно.

Почему стоит прочесть этот материал?

💡 С помощью наглядного примера объясняется, почему не рекомендуется запускать блокирующие задачи в основном потоке в ваших приложениях (как для macOS, так и для iOS). А ещё вы сможете детальнее изучить преимущества использования RunLoop.

🛠 Код из примера доступен на GitHub.

@iOS Dev

BY iOS Dev




Share with your friend now:
tg-me.com/iosdev/522

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

Telegram Auto-Delete Messages in Any Chat

Some messages aren’t supposed to last forever. There are some Telegram groups and conversations where it’s best if messages are automatically deleted in a day or a week. Here’s how to auto-delete messages in any Telegram chat. You can enable the auto-delete feature on a per-chat basis. It works for both one-on-one conversations and group chats. Previously, you needed to use the Secret Chat feature to automatically delete messages after a set time. At the time of writing, you can choose to automatically delete messages after a day or a week. Telegram starts the timer once they are sent, not after they are read. This won’t affect the messages that were sent before enabling the feature.

Launched in 2013, Telegram allows users to broadcast messages to a following via “channels”, or create public and private groups that are simple for others to access. Users can also send and receive large data files, including text and zip files, directly via the app.The platform said it has more than 500m active users, and topped 1bn downloads in August, according to data from SensorTower.telegram from us


Telegram iOS Dev
FROM USA