【发布时间】:2021-01-28 20:45:46
【问题描述】:
我正在使用flkt-rs crate 来设计一个 GUI。我想知道“锁定”我的应用程序的 UI 线程意味着什么。这是否意味着没有 CPU 分配给该线程?为什么要锁定 UI 线程?那么什么时候想解锁呢?
此外,我看到fltk::app::lock() 函数返回一个结果,这意味着使用它可能存在一些问题。什么会阻止您成功锁定 UI 线程?
来自fltk-rs docs的锁定功能:
pub fn lock() -> Result<(), FltkError>
【问题讨论】:
-
我猜您可能正在对某些数据进行非原子操作,并且不希望 UI 在其处于不一致状态时访问它。
-
查看 crate 中的错误类型,其中一种可能是
FailedToLock。我不知道为什么会发生这种情况,但大概会发生。
标签: multithreading rust fltk