问题1:
AS老是在自动sync,使得我在键入代码一半时就会被打断,特别是在有某个报错时,AS会在你键入代码一半时自动跳转至出现问题的代码位置,体验感非常差
问题2:
在kotlin中引用变量时会出现如下图所示问题:
object KotlinConstants {
//val agp_version by extra(agp_version)
const val gradle_version = "7.4.2"
const val kotlin_version = "1.8.0"
}
在File====>Settings....SettingsReposity或SystemSetting设置也没用吗
Kotlin是基于JVM的,所以可以使用Java中的同步手段,如synchronized、Lock、Atomic等。
但是sychronized是线程模型下的,不支持协程中的挂起函数。
fun main() = runBlocking {
val lock = Any()
var i = 0
val jobs = mutableListOf<Job>()
repeat(10) {
val job = launch(Dispatchers.Default) {
repeat(1000) {
synchronized(lock) {
i++
}
}
}
jobs.add(job)
}
jobs.joinAll()
println("i = $i")
}
/*
输出信息:
i = 10000
*/
fun main() = runBlocking {
var i = 0
val jobs = mutableListOf<Job>()
@Synchronized
fun add() {
i++
}
repeat(10) {
val job = launch(Dispatchers.Default) {
repeat(1000) {
add()
}
}
jobs.add(job)
}
jobs.joinAll()
println("i = $i")
}
/*
输出信息:
i = 10000
*/