Блокируется ли поток при выполнении операции с базой данных? ⇐ C#

Место общения программистов C#
Anonymous
Блокируется ли поток при выполнении операции с базой данных?

Сообщение Anonymous »

У нас есть служба WCF (развернутая в IIS), которая выполняет дорогостоящие вызовы к базе данных. Он не использует никакого асинхронного программирования (async/await).

Код: Выделить всё

using (SqlDataAdapter adapter = new SqlDataAdapter())
{
using (SqlCommand command = new SqlCommand())
{
command.CommandType = CommandType.StoredProcedure;
command.CommandText = "StoredProcedure_NAME";   // takes 6 seconds
command.Connection = connection;
adapter.SelectCommand = command;
adapter.Fill(dataset);
return dataset;
}
}
Теперь, что произойдет с потоком (я полагаю, что это поток пула потоков WCF), выполняющим этот вызов базы данных в течение 6 секунд ожидания. Блокируется ли этот поток и отнимает циклы ЦП, или поток будет находиться в состоянии ожидания (ожидание прерывания)?

Подробнее здесь: https://stackoverflow.com/questions/313 ... -operation

Вернуться в «C#»