Skip to content

Instantly share code, notes, and snippets.

@sunmeat
Created November 23, 2025 17:19
Show Gist options
  • Select an option

  • Save sunmeat/471dec95df95a3c63653b29d4354fdf9 to your computer and use it in GitHub Desktop.

Select an option

Save sunmeat/471dec95df95a3c63653b29d4354fdf9 to your computer and use it in GitHub Desktop.
ДЗ на багатопоточність в андроїд

🐱 Котик хоче жерти! Врятуй котика від голодної смерті...

Твій котик Мурзик - страшенно голодний і дуже нетерплячий.
Кожні 5 секунд він кричить у логах «МЯЯЯЯУ!!!» і втрачає 1 життя з 9.
Якщо ти не нагодуєш його за 30 секунд - він помре з голоду, а додаток впаде з епічною написом:
«Мурзик пішов у котячу Вальгаллу»

Що треба зробити:

  1. На головному екрані — кнопка «Нагодувати Мурзика» і TextView з кількістю життів + таймером.
  2. При натисканні починається «приготування супер-преміум-корму з тунцем і креветками».
    Це надскладний процес, який триває рівно 25 секунд (імітуй через Thread.sleep() у циклі).
  3. Поки корм готується — кожну секунду в TextView пиши смішні повідомлення:
    Мурзик дивиться голодними очима…
    Мурзик почав гризти тапок…
    Мурзик точить кігті об диван… Життів: 6

Варіанти виконання (за складністю та балами)

Варіант А — «Колгосп»

Зробити все на голому Thread + Handler (або runOnUiThread).
Якщо зробити через AsyncTask - Мурзик одразу помре від сорому.

Варіант B — «Сучасний котовласник 2025 року» (+ повага Мурзика)

Зробити все на Kotlin Coroutines (але код можна писати на Java!):

  • CoroutineScope(Dispatchers.IO) — готування корму
  • CoroutineScope(Dispatchers.Main) — оновлення UI і нявчання
    (можна використовувати GlobalScope для простоти)

Варіант С — «Бог багатопоточності»

Два коти одночасно: Мурзик і Барсик.
Вони жеруть з однієї миски (спільний synchronized ресурс — кількість корму).
Хто перший дістався — той і зжер усе. Другий котик ображається і пише в лог:
«Барсик став веганом з принципу»

Додаткові смішні фічі за +бали:

  • Мурзик нявчить різними фразами кожні 5 секунд окремим потоком
  • При смерті котика — чорний екран + напис «Ти найгірший котовласник 2025 року»
  • При успішному годуванні — конфетті (будь-яка бібліотека) + напис
    «Мурзик тепер тебе любить… поки знову не зголодніє»

Термін здачі:

Поки Мурзик не помер від голоду

Формат здачі:

вихідний код на GitHub

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment