我有一个旧项目,该项目具有基于Realm数据库的本地记录搜索算法。
在具有数千条记录的数据库中开始搜索时,主线程将被阻塞。
由于现有Realm数据库已创建并在主线程上运行,因此无法切换到其他线程。
有没有人知道如何解决此卡纸问题?
谢谢。
from django.core.serializers import serialize
users = User.objects.filter(username__startswith=q)
str_data = serialize('json', users, cls=DjangoJSONEncoder). # Or you don't need to provide the `cls` here because by default cls is DjangoJSONEncoder
data = json.loads(str_data)
答案 0 :(得分:0)
您有2个选项可以避免主线程被卡住
您必须使用文档中提到的概念ThreadSafeReference。
您可以使用领域Notifications概念在后台线程中观察提取的对象。
建议:请仔细阅读以上概念,并尝试自己实施。如果您仍然遇到任何问题,请告诉我们。