1共用一个连接就可以 2其实一样可以用lock实现,把数据库操作写成一个函数,函数内加lock。c#会安排他们排队 比如 private static object privateObjectLock = new object(); public static xxoo() { lock(privateObjectLock) { //数据操作语句 } } } 你在一个函数里实现数据库操作。然后线程操作数据库都调用他