问题描述
我对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 (将#修改为@)