在 julia 1.5.2 中获取锁时出错
Error when acquiring a lock in julia 1.5.2
我正在按照 documentation 获取一个变量的锁,但它失败了:
a = 0
lock(a) do
a += 1
end
错误信息:
ERROR: MethodError: no method matching lock(::var"#3#4", ::Int64)
Closest candidates are:
lock(::Any, ::Base.GenericCondition) at condition.jl:78
lock(::Any, ::Base.AbstractLock) at lock.jl:158
lock(::Any, ::WeakKeyDict) at weakkeydict.jl:76
Stacktrace:
[1] top-level scope at REPL[3]:1
错误信息很清楚,但为什么文档中提供的代码会失败。此外,不确定在哪里可以找到有关 lock
函数的详细文档。
好的,我明白了:
a = 0
l = ReentrantLock()
lock(l) do
global a # Needed if using REPL
a += 1
end
我正在按照 documentation 获取一个变量的锁,但它失败了:
a = 0
lock(a) do
a += 1
end
错误信息:
ERROR: MethodError: no method matching lock(::var"#3#4", ::Int64)
Closest candidates are:
lock(::Any, ::Base.GenericCondition) at condition.jl:78
lock(::Any, ::Base.AbstractLock) at lock.jl:158
lock(::Any, ::WeakKeyDict) at weakkeydict.jl:76
Stacktrace:
[1] top-level scope at REPL[3]:1
错误信息很清楚,但为什么文档中提供的代码会失败。此外,不确定在哪里可以找到有关 lock
函数的详细文档。
好的,我明白了:
a = 0
l = ReentrantLock()
lock(l) do
global a # Needed if using REPL
a += 1
end