From 7df204477539df1da5f24e416389909a99aa849c Mon Sep 17 00:00:00 2001 From: luming Date: Thu, 1 Jul 2021 15:17:57 +0800 Subject: [PATCH] inline function --- src/senior/Lambda/InlineFunc.kt | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/senior/Lambda/InlineFunc.kt 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