inline function
This commit is contained in:
parent
6f3a381e3d
commit
7df2044775
29
src/senior/Lambda/InlineFunc.kt
Normal file
29
src/senior/Lambda/InlineFunc.kt
Normal file
@ -0,0 +1,29 @@
|
||||
package senior.Lambda
|
||||
|
||||
import java.util.concurrent.locks.Lock
|
||||
import java.util.concurrent.locks.ReentrantLock
|
||||
|
||||
/**
|
||||
* 内联函数
|
||||
*
|
||||
*
|
||||
*/
|
||||
class InlineFunc {
|
||||
}
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
|
||||
var lock = ReentrantLock()
|
||||
check(lock) {
|
||||
println("内联函数")
|
||||
}
|
||||
}
|
||||
|
||||
inline fun <T> check(lock: Lock, body: () -> T): T {
|
||||
lock.lock()
|
||||
try {
|
||||
return body()
|
||||
} finally {
|
||||
lock.unlock()
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user