首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sqlite同步和异步

Sqlite同步和异步
EN

Stack Overflow用户
提问于 2022-04-12 20:12:06
回答 1查看 284关注 0票数 0

同时使用sqlite同步和异步是很好的实践吗?

例如,我需要在create方法上使用sqlite,但是在其他线程中需要更新另一个表异步。

代码语言:javascript
运行
复制
public class DatabaseHelper
    {
        private static SQLiteConnection sqlConnection;
        private static SQLiteAsyncConnection sqlConnectionAsync;
        public static SQLiteConnection db()
        {
            if(sqlConnection == null)
                sqlConnection = new SQLiteConnection(Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "student.db3"));
                               
            return sqlConnection;
        }
        public static SQLiteAsyncConnection dbAsync()
        {
            if (sqlConnectionAsync == null)
                sqlConnectionAsync = new SQLiteAsyncConnection(Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "student.db3"));
           
            return sqlConnectionAsync;
        }
    }

OnCreate法

datasource= DatabaseHelper.db().Table();等待DatabaseHelper.dbAsync().DeleteAll();

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-13 21:34:14

这里很安全,是的。只要单独的连接用于并发访问,那么您就可以使用同步或异步API。

还有一个你没有问的问题:它有用吗?上次我检查时,SQLite数据库驱动程序仅是同步的,而“异步”API实际上是同步运行的。它们将正常工作;它们可能不会解除UI的阻塞,您可能需要使用Task.Run将工作抛到后台线程上,甚至对于异步API也是如此。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71848624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档