НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
1302 of 1310 menu

Функция delay

Функция delay приостанавливает выполнение текущей корутины на указанное количество миллисекунд, не блокируя при этом поток. Является suspend-функцией, поэтому может быть вызвана только из другой suspend-функции или корутины. Принимает один параметр - время задержки в миллисекундах типа Long.

Импорт

import kotlinx.coroutines.delay

Синтаксис

suspend fun delay(timeMillis: Long)

Пример

Приостановим выполнение корутины на 1 секунду:

import kotlinx.coroutines.delay import kotlinx.coroutines.runBlocking fun main() = runBlocking { println("Start") delay(1000) println("End after 1 second") }

Результат выполнения кода:

Start End after 1 second

Пример

Создадим анимацию с помощью последовательных задержек:

import kotlinx.coroutines.delay import kotlinx.coroutines.runBlocking fun main() = runBlocking { for (i in 1..5) { println("Step $i") delay(500) } println("Animation completed") }

Результат выполнения кода:

Step 1 Step 2 Step 3 Step 4 Step 5 Animation completed

Пример

Использование задержки с разным временем:

import kotlinx.coroutines.delay import kotlinx.coroutines.runBlocking fun main() = runBlocking { println("Short delay: 100ms") delay(100) println("Medium delay: 1.5 seconds") delay(1500) println("Long delay: 3 seconds") delay(3000) println("All delays completed") }

Результат выполнения кода:

Short delay: 100ms Medium delay: 1.5 seconds Long delay: 3 seconds All delays completed

Пример

Задержка в параллельных корутинах:

import kotlinx.coroutines.delay import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking fun main() = runBlocking { launch { delay(1000) println("Coroutine 1 completed") } launch { delay(2000) println("Coroutine 2 completed") } println("Main coroutine waiting") }

Результат выполнения кода:

Main coroutine waiting Coroutine 1 completed Coroutine 2 completed

Смотрите также

  • функцию runBlocking,
    которая создает блокирующий контекст для корутин
  • функцию launch,
    которая запускает новую корутину
  • функцию async,
    которая запускает корутину с возвратом результата
  • функцию withContext,
    которая переключает контекст выполнения корутины
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить