android - 如何确保函数在给定时间运行一次,而不是同时运行?
问题描述
我有一个功能function()
。当函数被多次调用时,我如何确保它会一个接一个地运行,而不是同时运行?我在 Android Studio 3.5 中使用 Kotlin 1.3。
我的代码是
button.setOnClickListener{function()}
function()
问题是,按钮可以在仍在运行时多次按下,因此我希望后续调用function()
顺序执行,一个接一个,而不是同时执行。
编辑:我的函数定义是
fun function(){
image.animate().rotationBy(360F).setDuration(500)
}
用户可以多次按下按钮,因此结果是图像(image
)被旋转到一个角度,因为图像在没有完成完全旋转时再次旋转,最终以另一个角度旋转而不是0°。
解决方案
@Synchronized
注释完全符合您的要求:
@Synchronized
private fun function() {
//...
}
推荐阅读
- python - 如何列出带有订单的帖子?- 在 Django
- python - 我的exe。从 pyinstaller 创建的文件不像 .py 时那样工作(Pyexcel 问题)
- r - 按行获取数据框列表的平均值
- entity-framework - 为什么我们在进行 CRUD 操作时使用 Asp.net WebApi?
- c# - 更改端口时无法连接到mysql服务器c#
- asp.net-mvc - 如何在 MVC 5 中执行内联编辑
- typescript - Angular 5 - 如何构建具有多个键和值的对象
- laravel - 使用计数时出现未知列错误
- node.js - 如何在 nodejs pg 模块中创建动态查询功能?
- php - 如何将 array_search 与 array_chunk 一起使用?