1. 概述挂起函数是Kotlin最重要的一个特性,所有其他概念都建立在它的基础上。所以我们需要深入了解它的工作原理。挂起意味着在中间停止它。这类似于玩游戏,当我们想暂停游戏时,可以先存档,想继续游戏时,可以从存档处恢复游戏。当被暂停时,它会返回一个Continuation. 这就像游戏中的存档,可以使用Continuation从挂起的地方恢复。请注意,这与线程非常不同,线程无法保存
# Android Kotlin 定时器Android开发中,经常需要使用定时器来执行一些需要定时执行的任务,比如定时更新UI、定时轮询网络数据等。在Kotlin中,使用(Coroutines)可以更加方便地实现定时器功能。本文将介绍如何在Android应用中使用Kotlin来实现定时器,并提供代码示例来帮助读者理解。 ## 什么是 是一种轻量级的线程,它可以在执行过
原创 2024-06-11 04:05:21
727阅读
基础使用我们若要使用到 Kotlin ,首先需要添加依赖:dependencies { implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9' }然后通过以下代码就可以启动:CoroutineScope(Dispatchers.Main).launch { }这样,就能够在主线
转载 2024-06-29 12:29:41
114阅读
上下⽂与调度  总是运⾏在⼀些以 CoroutineContext 类型为代表的上下⽂中,它们被定义在了 Kotlin 的标准库 ⾥。 上下⽂是各种不同元素的集合。其中主元素是中的 Job,我们在前⾯的⽂档中⻅过它以及它的 调度,⽽本⽂将对它进⾏介绍。 调度与线程  上下⽂包含⼀个 调度(参⻅ CoroutineDispatcher)它确定了哪些线程或与线
转载 2023-09-02 21:58:41
336阅读
的挂起是个很重要也比较难懂的概念。从的启动开始讲起。@Test fun 测试启动() { GlobalScope.launch(start = CoroutineStart.DEFAULT) 启动的地方@ { val 挂起方法的值 = 挂起方法("测试") println(挂起方法的值)
转载 2024-04-16 11:53:46
373阅读
Coroutine context and dispatchers是在上下文环境中执行,CoroutineContext类型都在kotlin的标准库中定义上下文是由一系列元素组成,最重要的是Job对象及调度dispatcherDispatchers and threads 调度和线程 dispatcher调度可以调整运行时使用一个或者多个线程,也可以指定运行在特定的线程中,或
转载 2024-06-03 20:34:52
46阅读
前言系列文章:一个小故事讲明白进程、线程、Kotlin 到底啥关系?少年,你可知 Kotlin 最初的样子?讲真,Kotlin 的挂起/恢复没那么神秘(故事篇)讲真,Kotlin 的挂起/恢复没那么神秘(原理篇)Kotlin 调度切换线程是时候解开真相了Kotlin 程之线程池探索之旅(与Java线程池PK)Kotlin 程之取消与异常处理探索之旅(上)Kotlin
一.线程的桥接1.runBlocking方法    runBlocking方法用于在线程中去执行suspend方法,代码如下:@Throws(InterruptedException::class) public fun <T> runBlocking(context: CoroutineContext = EmptyCoroutineConte
转载 2024-01-03 08:40:31
109阅读
先理清楚三种说法:1、是轻量级线程、比线程耗费资源少错。竟然还是官方说法。是语言层面的东西,而线程是操作系统层面的,就没啥可比性。 kotlin,和操作系统概念的不一样,理念有一点点像,但是没有任何关系。2、是线程框架对。就是对线程的封装,模糊了线程。中切换线程非常方便,由此解决了异步编程时过多的回调问题。Kotlin 内部自己维护了线程池。在使用过程中,
# Android Kotlin 定时器的使用与实现 在Android开发中,是一种强大的工具,使得我们能够以一种更为优雅的方式处理异步编程。今天我们将重点讨论如何在Kotlin中使用来实现一个定时器。这种定时器可以帮助我们在UI线程进行耗时操作时,保持应用程序的响应性。 ## 什么是 是一种轻量级的线程,其目的在于简化异步代码的编写。它允许我们在函数之间暂停,并在适当的
原创 2024-09-06 04:13:06
255阅读
# 安卓 Kotlin 定时任务实现指南 在现代应用开发中,Kotlin 为我们提供了高效的异步处理能力。今天,我们将学习如何使用 Kotlin 实现一个简单的定时任务。我们将从流程开始,然后逐步实现代码。 ## 流程概述 下面是实现“Android Kotlin 定时”的基本步骤: | 步骤 | 描述 | | ---- | ---- | | 1 | 创建一个 And
原创 2024-10-25 04:12:44
232阅读
# Python 定时器实现教程 ## 1. 整体流程 ```mermaid journey title Python 定时器实现教程 section 刚入行小白实现 Python 定时器 开发者指导小白 小白学习并实践 ``` ## 2. 步骤及代码示例 ### 步骤一:导入所需模块 首先,我们需要导入内置的 asyncio
原创 2024-07-03 04:06:48
34阅读
CatalogueSTM32的定时器基础一、定时器简介二、CubeMX的配置步骤三、TIM定时器和外部中断实验Reference STM32的定时器基础一、定时器简介 二、CubeMX的配置步骤 编写中断回调函数三、TIM定时器和外部中断实验 笔者使用的是正点原子精英板 STM32F103ZET6,利用TIM资源实现上述问题。 进行CubeMX工程的配置,首先配置时钟,选择外部晶振,时钟配置如下
一、Kotlin1.3开始引入,本质上就是轻量级的线程。的基本功能点有:轻量:可以在单个线程上运行多个协,因为支持挂起,不会使正在运行的线程阻塞。挂起比阻塞节省内存,且支持多个并行操作内存泄露更少:使用结构化并发机制在一个作用域内执行多个操作内置取消支持:取消功能会自动通过正在运行的层次结构传播Jetpack 集成:许多 Jetpack 库都包含提供全面支持的扩
转载 2023-10-04 10:08:10
1102阅读
Kotlin 提供了更优雅的异步编程方式,但由于 Jvm 本身并没有提供支持,因此 Kotlin/Jvm 中的仿佛如魔法一般的存在。这一次我们将对的实现原理进行解析。挂起函数函数声明转换Kotlin 从语言层面提供了 suspend以下面的一个挂起函数声明为例: suspend fun suspendingFunction(a: Int, vararg b: String)
转载 2023-10-08 18:08:22
720阅读
1 时钟时钟这个东西,实际上是作为一种工具而存在,内核通过时钟来感知、管理时间。这里的时钟,更主要的还是软件上的概念,系统通过维护软件时钟来追踪时间1.1 几个概念1、 时钟中断:由硬件产生的电信号,一切的缘起,哈哈。该中断产生时,内核通过特殊的中断处理程序进行处理2、 节拍率(tick rate):系统以某种频率(可编程)自行触发(hitting
Kotlin Coroutines()是一种编程思想,并不局限于特定的语言。可以使用阻塞的方式写出非阻塞式的代码,解决并发中常见的回调地狱。消除了并发任务之间的协作的难度。 在 android 中使用引入依赖root build.gradleplugins { // kotlin编译插件 id 'org.jetbrains.kotlin.android' version '1
转载 2023-08-18 02:37:25
170阅读
是学习的重中之重,也是运用koitlin的关键。本篇文章主要介绍的创建、调度与挂起部分内容,对相关内容进行细致解析。 vivo 互联网客户端团队- Ruan Wen本文是解析系列文章的开篇,主要介绍的创建、调度与挂起相关的内容一、引入 中引入 Co
前言本篇是在Android官网对Kotlin的学习记录。记录Kotlin Coroutines在Android上的特点、应用等概述一、是什么?是一种并发的设计模式,可以使用它来简化异步执行的代码,它可以帮助管理一些耗时的任务,以防耗时任务阻塞主线程。可以用同步的方式写出异步代码,代替了传统的回调方式,让代码更具有可读性。 关于作用域:必须运行在CoroutineScop
转载 2023-07-27 20:54:29
603阅读
属于Kotlin 中非常有特色的一项技术,因为大部分编程语言中是没有这个概念的。那么什么是呢?它其实和线程是有点类似的,可以简单地将它理解成一种轻量级的线程。要知道,我们之前所学习的线程是非常重量级的,它需要依靠操作系统的调度才能实现不同线程之间的切换。而使用携切可以仅在编程语言的层面就能实现不同程之间的切换,从而大大提升了并发编程的运行效率。举一个具体点的例子,比如我们有如下fo
转载 2024-01-12 05:57:17
82阅读
  • 1
  • 2
  • 3
  • 4
  • 5