rust 建立窗口并关闭。
Posted CrossPython
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rust 建立窗口并关闭。相关的知识,希望对你有一定的参考价值。
[dependencies] web-view = "0.7.3" use std::thread; use web_view::*; fn main() let handle = thread::spawn(|| let webview = web_view::builder() .title("") .content(Content::Html("<html><body><center>Hello, world!</center></body></html>")) .size(250, 100) .resizable(true) .debug(true) .user_data(()) .frameless(true) .invoke_handler(|_webview, _arg| Ok(()) ) .build() .unwrap(); webview.run().unwrap(); ); // Wait for the window to be created thread::sleep(std::time::Duration::from_secs(3)); // Close the window by terminating the thread handle.thread().unpark();
A *:Rust中的打开和关闭列表[关闭]
我正在学习Rust,我很难找出使用A *的N-Puzzle解算器应该使用什么结构。
在这个项目中,我使用树来计算并选择解决N-Puzzle的最佳方法。典型的树看起来像这样:每个节点中的数字是计算的f分数,它代表我们在进入最终状态之前可以做的最小移动次数。灰色节点已经探索过节点,它们处于“近距离集”中。绿色节点是解决方案的潜在步骤,它是“开放式”。
在每次迭代中,我们探索具有最低f分数的绿色节点。为了优化在开放集中搜索此节点,我需要在向量/列表/数组中存储所有绿色节点的可变引用。
同时拥有树和相同可变节点列表的最佳方法是什么?
请注意我以后想要使用多个线程。
答案
在对项目的内部可变性,线程和其他一些事情进行了一些研究之后,我找到了一个更优雅的解决方案。
该算法的目标是计算子项,直到找到目标,然后通过父系统返回所有图形并跟踪从一开始就执行的所有移动。我找到了一种方法,没有图表表示,只有openlist和closelist。在这种情况下不需要多个可变引用。如果在每个子节点中,将其父节点的索引存储在关闭列表中(不会更改),则可以返回到开头而不会发生可变性。
我问的答案是没有解决我的问题,我再次对算法进行了研究并再次做了一切。无论如何,谢谢你的答案,我学到了关于Rust的新东西。
以上是关于rust 建立窗口并关闭。的主要内容,如果未能解决你的问题,请参考以下文章