【发布时间】:2017-10-06 01:19:46
【问题描述】:
所以我尝试使用线程在后台保存文件,以防止主统一线程冻结,直到文件保存:
public void SaveMap() {
MapRendererBehaviour mapRendererBehaviour = GameObject.FindWithTag("MapRenderer").GetComponent<MapRendererBehaviour>();
SerializedMap serializedMap = mapRendererBehaviour.ToSerializedData();
Debug.Log("test");
_saveMapThread = new Thread(() => {
string saveMapJson = JsonConvert.SerializeObject(serializedMap);
File.WriteAllText(_saveMapFilePath, saveMapJson);
});
}
由于某种原因,线程代码似乎没有被执行,因为文件没有被保存。如果我注释掉线程创建并将线程主体留在其中,则文件会正确保存。
任何人都知道我在这里可能做错了什么(我假设我在做一些愚蠢的事情,因为我以前从未尝试过使用线程)。
【问题讨论】:
标签: c# multithreading unity3d