diff --git a/src/senior/Lambda/InlineFunc.kt b/src/senior/Lambda/InlineFunc.kt new file mode 100644 index 0000000..ba7c7b3 --- /dev/null +++ b/src/senior/Lambda/InlineFunc.kt @@ -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) { + + var lock = ReentrantLock() + check(lock) { + println("内联函数") + } +} + +inline fun check(lock: Lock, body: () -> T): T { + lock.lock() + try { + return body() + } finally { + lock.unlock() + } +} \ No newline at end of file