Это блокирует поток. Если Вы посмотрите в Modules/timemodule.c в источнике Python, Вы будете видеть, что в вызове к floatsleep()
, независимая часть операции сна обертывается в Py_BEGIN_ALLOW_THREADS и блок Py_END_ALLOW_THREADS, позволяя другим потокам продолжить выполняться, в то время как текущий спит. Можно также протестировать это с простой программой Python:
import time
from threading import Thread
class worker(Thread):
def run(self):
for x in xrange(0,11):
print x
time.sleep(1)
class waiter(Thread):
def run(self):
for x in xrange(100,103):
print x
time.sleep(5)
def run():
worker().start()
waiter().start()
, Который распечатает:
>>> thread_test.run()
0
100
>>> 1
2
3
4
5
101
6
7
8
9
10
102
Он находится в DbContext и должен быть публичным.
dbContext.Database.Connection.ConnectionString
также:
dbContext.Database.Connection.BeginTransaction(isolationLevel)
В новом дивном мире .Net Core вы можете использовать:
context.Database.GetDbConnection()