1 回答
TA贡献1864条经验 获得超6个赞
协程不是线程。如果保存操作需要花费大量时间才能完成,请创建一个新线程并在其中执行。有关示例,请参见下面的功能。该代码已被移到新的线程中。
void WaitAndPrint(TestController.TestReportModel report)
{
//Create Thread
Thread thread = new Thread(delegate ()
{
dbHelper.deleteAllFromTable(dbHelper.TABLE_OFFLINE_MASTER_TEST_REPORT);
dbHelper.deleteAllFromTable(dbHelper.TABLE_MASTER_OFFLINE_POINT_DATA);
for (int i = 0; i < report.data.Count; i++)
{
TestController.TestData MasterData = report.data[i];
dbHelper.AddOfflineMasterTestReport(MasterData, "");
}
});
//Start the Thread and execute the code inside it
thread.Start();
}
现在,您可以直接调用函数,它不应冻结Unity: WaitAndPrint(report);
如果您想从新的Threa中使用Unity的API,请使用UnityThread.executeInUpdate。见这对完整的例子。
- 1 回答
- 0 关注
- 153 浏览
添加回答
举报