有没有一种方法可以在Rust中生成具有指定生存期的线程?

问题描述

我对Rust还是很陌生,所以遇到了一些我不习惯的事情。导致我有些悲伤的一个问题与线程有关。

我想产生一个执行struct方法的线程,但是我不能这样做,因为该方法需要有一个static final Migration MIGRATION_8_9 = new Migration(8,9) { @Override public void migrate(SupportSQLiteDatabase database) { database.execSQL("ALTER TABLE `tableName` ADD COLUMN columeName INTEGER DEFAULT 0 NOT NULL"); } }; 的生命周期。我希望该方法(以及扩展的结构)没有'static生存期。

如果我确定在删除该结构的实例化值之前该线程将退出,是否有办法与Rust进行通信?换句话说,我可以告诉Rust我可以保证直到线程退出后才删除该值吗?还是有办法将生命周期传递给线程?

如果这一切都不可能,那么该怎么办呢?我已经研究过使代码异步化,但是在解决上述问题方面没有任何成功。

如果方法和结构必须的生存期为'static,我该如何适当地指定它?

这是问题的简化示例:

'static

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)