递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 525|回复: 4
打印 上一主题 下一主题

[视窗] sqlite如何在多线程下启动事务?

[复制链接]

30

主题

94

帖子

471

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
471
跳转到指定楼层
楼主
发表于 2024-9-29 03:20:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目前学习到
SQLite数据库类 的 A变量 可以 直接调用
A.执行SQL语句("BEGIN")  来启动事务功能...

但是如果在多线程下面,有多个线程会启动事务....这个不就乱了嘛...

可以通过 SQLite记录集类  的变量 来  执行SQL语句("BEGIN")   这个实现局部修改吗?用来防止多线程下有其他线程提交修改失败的情况
回复

使用道具 举报

26

主题

1899

帖子

6918

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6918
沙发
发表于 2024-9-29 08:40:06 | 只看该作者
SQLite每个线程的事务是独立的,不会受其他线程影响。
直接用就是了,不会乱。
回复

使用道具 举报

30

主题

94

帖子

471

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
471
板凳
 楼主| 发表于 2024-9-29 18:23:36 | 只看该作者
Xelloss0618 发表于 2024-9-29 08:40
SQLite每个线程的事务是独立的,不会受其他线程影响。
直接用就是了,不会乱。 ...

就在启动程序的时候打开了一次数据库...然后所有线程都是用那个已打开的变量,这样会有问题吗?

还是说要改成每个线程都要去打开一次数据库才能防止冲突?
回复

使用道具 举报

73

主题

338

帖子

2011

积分

金牌会员

嘿嘿哈哈

Rank: 6Rank: 6

积分
2011
地板
发表于 2024-9-29 19:07:31 | 只看该作者
貌似一条线程操作sqliet时文件会上锁,其他线程会访问失败。
回复

使用道具 举报

26

主题

1899

帖子

6918

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6918
5#
发表于 2024-9-29 20:44:18 | 只看该作者
李小龙2 发表于 2024-9-29 18:23
就在启动程序的时候打开了一次数据库...然后所有线程都是用那个已打开的变量,这样会有问题吗?

还是说要 ...

SQLite本身就有锁,可以线程安全。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-22 02:34 , Processed in 0.082353 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表