sqlsugar在task下的问题 返回
c#下 方法写成Task,然后调用
类为
public class User
{
public User()
{
db = SugarBase.GetIntanceAutoClose();
}
private SqlSugarClient db;
pubic task1(){}
public task2(){}
public Task3(){}
}
然后调用时发现调用时 如果每个方法调用后都await则没问题
如果没有跟await 则会出现数据各种问题。
比如:
var u=new user()
Task u1 = u.task1();Task u2 = u.task2();Task u3 = u.task3();
这样就会出问题,
如果改成
Task u1 = task1();await u1;Task u2 = task2();await u2;Task u3 = task3(); await u3;
就没问题,本来我是想这样用多任务异步处理的,加了await,变成还是顺序执行,
应该是多线程的问题,但是不知道该怎么解决?SqlSugarClient已经是静态并且自动释放连接的。
热忱回答(7)
-
fate stay night VIP0
2019/5/21升级到SQLSUGAR 5.0支持了多线程和静态
0 回复 -
fate stay night VIP0
2019/5/21或者把NEW SQLSUGAR写到TASK里面
0 回复 -
star021282 VIP0
2019/5/22@fate stay night:好 我试试 有5的文档吗?
0 回复 -
star021282 VIP0
2019/5/22@fate stay night:每个task都new一个太麻烦了
0 回复 -
star021282 VIP0
2019/5/22升到5真的可以了 但是我没测试这会不会耗资源
0 回复 -
fate stay night VIP0
2019/5/22@star021282:不会
0 回复 -
热心市民杨先生 VIP0
2019/6/14TASK.WaitAll() ,莫名其妙锁表
0 回复