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的最佳方法。典型的树看起来像这样:enter image description here每个节点中的数字是计算的f分数,它代表我们在进入最终状态之前可以做的最小移动次数。灰色节点已经探索过节点,它们处于“近距离集”中。绿色节点是解决方案的潜在步骤,它是“开放式”。

在每次迭代中,我们探索具有最低f分数的绿色节点。为了优化在开放集中搜索此节点,我需要在向量/列表/数组中存储所有绿色节点的可变引用。

同时拥有树和相同可变节点列表的最佳方法是什么?

请注意我以后想要使用多个线程。

答案

在对项目的内部可变性,线程和其他一些事情进行了一些研究之后,我找到了一个更优雅的解决方案。

该算法的目标是计算子项,直到找到目标,然后通过父系统返回所有图形并跟踪从一开始就执行的所有移动。我找到了一种方法,没有图表表示,只有openlist和closelist。在这种情况下不需要多个可变引用。如果在每个子节点中,将其父节点的索引存储在关闭列表中(不会更改),则可以返回到开头而不会发生可变性。

enter image description here

我问的答案是没有解决我的问题,我再次对算法进行了研究并再次做了一切。无论如何,谢谢你的答案,我学到了关于Rust的新东西。

以上是关于rust 建立窗口并关闭。的主要内容,如果未能解决你的问题,请参考以下文章

A *:Rust中的打开和关闭列表[关闭]

使用 Rust 开发一个微型游戏

接收器关闭并在尝试通过通道发送时返回 SendError

Rust 实战 |创建一个完整的项目

TCP的三次握手(建立连接)和四次挥手(关闭连接)

TCP的三次握手(建立连接)和四次挥手(关闭连接)