This commit is contained in:
sunkaixuan
2019-05-19 09:14:04 +08:00
parent d456d50b9d
commit 37f2a4fd98
6 changed files with 461 additions and 23 deletions

View File

@@ -27,6 +27,8 @@ namespace OrmTest
{
Json();
Thread();
Thread2();
Thread3();
}
}
}

View File

@@ -10,7 +10,7 @@ namespace OrmTest
public partial class NewUnitTest
{
public static SqlSugarClient tdb0 => new SqlSugarClient(new ConnectionConfig()
public static SqlSugarClient simpleDb => new SqlSugarClient(new ConnectionConfig()
{
DbType = DbType.SqlServer,
ConnectionString = Config.ConnectionString,
@@ -25,7 +25,7 @@ namespace OrmTest
}
}
});
public static SqlSugarClient tdb1 => new SqlSugarClient(new ConnectionConfig()
public static SqlSugarClient ssDb => new SqlSugarClient(new ConnectionConfig()
{
DbType = DbType.SqlServer,
ConnectionString = Config.ConnectionString,
@@ -41,7 +41,7 @@ namespace OrmTest
}
}
});
public static SqlSugarClient tdb2 = new SqlSugarClient(new ConnectionConfig()
public static SqlSugarClient singleDb = new SqlSugarClient(new ConnectionConfig()
{
DbType = DbType.SqlServer,
ConnectionString = Config.ConnectionString,
@@ -56,7 +56,7 @@ namespace OrmTest
}
}
});
public static SqlSugarClient tdb3 = new SqlSugarClient(new ConnectionConfig()
public static SqlSugarClient singleAndSsDb = new SqlSugarClient(new ConnectionConfig()
{
DbType = DbType.SqlServer,
ConnectionString = Config.ConnectionString,
@@ -91,7 +91,7 @@ namespace OrmTest
{
for (int i = 0; i < 100; i++)
{
tdb0.Insertable(new Order() { Name = "test", CreateTime = DateTime.Now }).ExecuteCommand();
simpleDb.Insertable(new Order() { Name = "test", CreateTime = DateTime.Now }).ExecuteCommand();
System.Threading.Thread.Sleep(1);
}
@@ -100,7 +100,7 @@ namespace OrmTest
{
for (int i = 0; i < 100; i++)
{
tdb0.Insertable(new Order() { Name = "test2", CreateTime = DateTime.Now }).ExecuteCommand();
simpleDb.Insertable(new Order() { Name = "test2", CreateTime = DateTime.Now }).ExecuteCommand();
System.Threading.Thread.Sleep(10);
}
@@ -109,7 +109,7 @@ namespace OrmTest
{
for (int i = 0; i < 100; i++)
{
tdb0.Insertable(new Order() { Name = "test3", CreateTime = DateTime.Now }).ExecuteCommand();
simpleDb.Insertable(new Order() { Name = "test3", CreateTime = DateTime.Now }).ExecuteCommand();
System.Threading.Thread.Sleep(6);
}
@@ -127,7 +127,7 @@ namespace OrmTest
{
for (int i = 0; i < 100; i++)
{
tdb3.Insertable(new Order() { Name = "test", CreateTime = DateTime.Now }).ExecuteCommand();
singleAndSsDb.Insertable(new Order() { Name = "test", CreateTime = DateTime.Now }).ExecuteCommand();
System.Threading.Thread.Sleep(1);
}
@@ -136,7 +136,7 @@ namespace OrmTest
{
for (int i = 0; i < 100; i++)
{
tdb3.Insertable(new Order() { Name = "test2", CreateTime = DateTime.Now }).ExecuteCommand();
singleAndSsDb.Insertable(new Order() { Name = "test2", CreateTime = DateTime.Now }).ExecuteCommand();
System.Threading.Thread.Sleep(10);
}
@@ -145,7 +145,7 @@ namespace OrmTest
{
for (int i = 0; i < 100; i++)
{
tdb3.Insertable(new Order() { Name = "test3", CreateTime = DateTime.Now }).ExecuteCommand();
singleAndSsDb.Insertable(new Order() { Name = "test3", CreateTime = DateTime.Now }).ExecuteCommand();
System.Threading.Thread.Sleep(6);
}
@@ -163,7 +163,7 @@ namespace OrmTest
{
for (int i = 0; i < 100; i++)
{
tdb2.Insertable(new Order() { Name = "test", CreateTime = DateTime.Now }).ExecuteCommand();
singleDb.Insertable(new Order() { Name = "test", CreateTime = DateTime.Now }).ExecuteCommand();
System.Threading.Thread.Sleep(1);
}
@@ -172,7 +172,7 @@ namespace OrmTest
{
for (int i = 0; i < 100; i++)
{
tdb2.Insertable(new Order() { Name = "test2", CreateTime = DateTime.Now }).ExecuteCommand();
singleDb.Insertable(new Order() { Name = "test2", CreateTime = DateTime.Now }).ExecuteCommand();
System.Threading.Thread.Sleep(10);
}
@@ -181,7 +181,7 @@ namespace OrmTest
{
for (int i = 0; i < 100; i++)
{
tdb2.Insertable(new Order() { Name = "test3", CreateTime = DateTime.Now }).ExecuteCommand();
singleDb.Insertable(new Order() { Name = "test3", CreateTime = DateTime.Now }).ExecuteCommand();
System.Threading.Thread.Sleep(6);
}
@@ -237,7 +237,7 @@ namespace OrmTest
{
for (int i = 0; i < 100; i++)
{
tdb0.Insertable(new Order() { Name = "test", CreateTime = DateTime.Now }).ExecuteCommandAsync().Wait();
simpleDb.Insertable(new Order() { Name = "test", CreateTime = DateTime.Now }).ExecuteCommandAsync().Wait();
System.Threading.Thread.Sleep(1);
}
@@ -246,7 +246,7 @@ namespace OrmTest
{
for (int i = 0; i < 100; i++)
{
tdb0.Insertable(new Order() { Name = "test2", CreateTime = DateTime.Now }).ExecuteCommandAsync().Wait(); ;
simpleDb.Insertable(new Order() { Name = "test2", CreateTime = DateTime.Now }).ExecuteCommandAsync().Wait(); ;
System.Threading.Thread.Sleep(10);
}
@@ -255,7 +255,7 @@ namespace OrmTest
{
for (int i = 0; i < 100; i++)
{
tdb0.Insertable(new Order() { Name = "test3", CreateTime = DateTime.Now }).ExecuteCommandAsync().Wait();
simpleDb.Insertable(new Order() { Name = "test3", CreateTime = DateTime.Now }).ExecuteCommandAsync().Wait();
System.Threading.Thread.Sleep(6);
}
@@ -273,7 +273,7 @@ namespace OrmTest
{
for (int i = 0; i < 100; i++)
{
tdb3.Insertable(new Order() { Name = "test", CreateTime = DateTime.Now }).ExecuteCommandAsync().Wait();
singleAndSsDb.Insertable(new Order() { Name = "test", CreateTime = DateTime.Now }).ExecuteCommandAsync().Wait();
System.Threading.Thread.Sleep(1);
}
@@ -282,7 +282,7 @@ namespace OrmTest
{
for (int i = 0; i < 100; i++)
{
tdb3.Insertable(new Order() { Name = "test2", CreateTime = DateTime.Now }).ExecuteCommandAsync().Wait();
singleAndSsDb.Insertable(new Order() { Name = "test2", CreateTime = DateTime.Now }).ExecuteCommandAsync().Wait();
System.Threading.Thread.Sleep(10);
}
@@ -291,7 +291,7 @@ namespace OrmTest
{
for (int i = 0; i < 100; i++)
{
tdb3.Insertable(new Order() { Name = "test3", CreateTime = DateTime.Now }).ExecuteCommandAsync().Wait();
singleAndSsDb.Insertable(new Order() { Name = "test3", CreateTime = DateTime.Now }).ExecuteCommandAsync().Wait();
System.Threading.Thread.Sleep(6);
}
@@ -309,7 +309,7 @@ namespace OrmTest
{
for (int i = 0; i < 100; i++)
{
tdb2.Insertable(new Order() { Name = "test", CreateTime = DateTime.Now }).ExecuteCommandAsync().Wait();
singleDb.Insertable(new Order() { Name = "test", CreateTime = DateTime.Now }).ExecuteCommandAsync().Wait();
System.Threading.Thread.Sleep(1);
}
@@ -318,7 +318,7 @@ namespace OrmTest
{
for (int i = 0; i < 100; i++)
{
tdb2.Insertable(new Order() { Name = "test2", CreateTime = DateTime.Now }).ExecuteCommandAsync().Wait();
singleDb.Insertable(new Order() { Name = "test2", CreateTime = DateTime.Now }).ExecuteCommandAsync().Wait();
System.Threading.Thread.Sleep(10);
}
@@ -327,7 +327,7 @@ namespace OrmTest
{
for (int i = 0; i < 100; i++)
{
tdb2.Insertable(new Order() { Name = "test3", CreateTime = DateTime.Now }).ExecuteCommandAsync().Wait();
singleDb.Insertable(new Order() { Name = "test3", CreateTime = DateTime.Now }).ExecuteCommandAsync().Wait();
System.Threading.Thread.Sleep(6);
}

View File

@@ -0,0 +1,316 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OrmTest
{
public partial class NewUnitTest
{
public static void Thread2()
{
Simple2();
IsShardSameThread2();
Single2();
SingleAndIsShardSameThread2();
SimpleAsync2();
IsShardSameThreadAsync2();
SingleAsync2();
SingleAndIsShardSameThreadAsync2();
}
private static void Simple2()
{
var t1 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToList();
System.Threading.Thread.Sleep(1);
}
});
var t2 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToList();
System.Threading.Thread.Sleep(10);
}
});
var t3 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToList();
System.Threading.Thread.Sleep(6);
}
});
t1.Start();
t2.Start();
t3.Start();
Task.WaitAll(t1, t2, t3);
}
private static void SingleAndIsShardSameThread2()
{
var t1 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToList();
System.Threading.Thread.Sleep(1);
}
});
var t2 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToList();
System.Threading.Thread.Sleep(10);
}
});
var t3 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToList();
System.Threading.Thread.Sleep(6);
}
});
t1.Start();
t2.Start();
t3.Start();
Task.WaitAll(t1, t2, t3);
}
private static void Single2()
{
var t1 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToList();
System.Threading.Thread.Sleep(1);
}
});
var t2 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToList();
System.Threading.Thread.Sleep(10);
}
});
var t3 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToList();
System.Threading.Thread.Sleep(6);
}
});
t1.Start();
t2.Start();
t3.Start();
Task.WaitAll(t1, t2, t3);
}
private static void IsShardSameThread2()
{
var t1 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToList();
System.Threading.Thread.Sleep(1);
}
});
var t2 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToList();
System.Threading.Thread.Sleep(10);
}
});
var t3 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToList();
System.Threading.Thread.Sleep(6);
}
});
t1.Start();
t2.Start();
t3.Start();
Task.WaitAll(t1, t2, t3);
}
private static void SimpleAsync2()
{
var t1 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToListAsync().Wait();
System.Threading.Thread.Sleep(1);
}
});
var t2 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToListAsync().Wait(); ;
System.Threading.Thread.Sleep(10);
}
});
var t3 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToListAsync().Wait();
System.Threading.Thread.Sleep(6);
}
});
t1.Start();
t2.Start();
t3.Start();
Task.WaitAll(t1, t2, t3);
}
private static void SingleAndIsShardSameThreadAsync2()
{
var t1 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToListAsync().Wait();
System.Threading.Thread.Sleep(1);
}
});
var t2 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToListAsync().Wait();
System.Threading.Thread.Sleep(10);
}
});
var t3 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToListAsync().Wait();
System.Threading.Thread.Sleep(6);
}
});
t1.Start();
t2.Start();
t3.Start();
Task.WaitAll(t1, t2, t3);
}
private static void SingleAsync2()
{
var t1 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToListAsync().Wait();
System.Threading.Thread.Sleep(1);
}
});
var t2 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToListAsync().Wait();
System.Threading.Thread.Sleep(10);
}
});
var t3 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToListAsync().Wait();
System.Threading.Thread.Sleep(6);
}
});
t1.Start();
t2.Start();
t3.Start();
Task.WaitAll(t1, t2, t3);
}
private static void IsShardSameThreadAsync2()
{
var t1 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToListAsync().Wait();
System.Threading.Thread.Sleep(1);
}
});
var t2 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToListAsync().Wait();
System.Threading.Thread.Sleep(10);
}
});
var t3 = new Task(() =>
{
for (int i = 0; i < 100; i++)
{
simpleDb.Queryable<Order>().Take(10).ToListAsync().Wait();
System.Threading.Thread.Sleep(6);
}
});
t1.Start();
t2.Start();
t3.Start();
Task.WaitAll(t1, t2, t3);
}
}
}

View File

@@ -0,0 +1,117 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OrmTest
{
public partial class NewUnitTest
{
public static void Thread3()
{
Console.WriteLine("Thread3");
SimpleAsync3();
IsShardSameThreadAsync3();
SingleAsync3();
SingleAndIsShardSameThreadAsync3();
}
private static async Task SimpleAsync3()
{
for (int i = 0; i < 100; i++)
{
await simpleDb.Queryable<Order>().Take(10).ToListAsync();
}
for (int i = 0; i < 100; i++)
{
await simpleDb.Insertable(new Order() { Name = "a", CustomId = 1 }).ExecuteCommandAsync();
}
List<Order> orders = new List<Order>();
for (int i = 0; i < 100; i++)
{
orders = await simpleDb.Queryable<Order>().Take(10).ToListAsync();
}
if (orders.Count > 0)
{
Console.WriteLine("async is ok");
}
}
private static async Task SingleAndIsShardSameThreadAsync3()
{
for (int i = 0; i < 100; i++)
{
await singleAndSsDb.Queryable<Order>().Take(10).ToListAsync();
}
for (int i = 0; i < 100; i++)
{
await singleAndSsDb.Insertable(new Order() { Name = "a", CustomId = 1 }).ExecuteCommandAsync();
}
List<Order> orders = new List<Order>();
for (int i = 0; i < 100; i++)
{
orders = await singleAndSsDb.Queryable<Order>().Take(10).ToListAsync();
}
if (orders.Count > 0)
{
Console.WriteLine("async is ok");
}
}
private static async Task SingleAsync3()
{
for (int i = 0; i < 100; i++)
{
await singleDb.Queryable<Order>().Take(10).ToListAsync();
}
for (int i = 0; i < 100; i++)
{
await singleDb.Insertable(new Order() { Name = "a", CustomId = 1 }).ExecuteCommandAsync();
}
List<Order> orders = new List<Order>();
for (int i = 0; i < 100; i++)
{
orders = await singleDb.Queryable<Order>().Take(10).ToListAsync();
}
if (orders.Count > 0)
{
Console.WriteLine("async is ok");
}
}
private static async Task IsShardSameThreadAsync3()
{
for (int i = 0; i < 100; i++)
{
await ssDb.Queryable<Order>().Take(10).ToListAsync();
}
for (int i = 0; i < 100; i++)
{
await ssDb.Insertable(new Order() { Name = "a", CustomId = 1 }).ExecuteCommandAsync();
}
List<Order> orders = new List<Order>();
for (int i = 0; i < 100; i++)
{
orders = await ssDb.Queryable<Order>().Take(10).ToListAsync();
}
if (orders.Count > 0)
{
Console.WriteLine("async is ok");
}
}
}
}