Вижте C# Task Parallel Library. Можете да създадете задача, която е много проста. Например...
Task myTask= new Task(() => {
Console.WriteLine(@"hello");
//Call stored procedure here
});
myTask.start();
Това ще изпълни кода, обвит в задачата, паралелно с основната нишка. Ако искате да проверите дали задачата е изпълнена, можете да използвате
if(myTask.IsCompleted())
{
Console.WriteLine(@"My task is finished");
}
Този метод избягва промяната на съхранената процедура и позволява на C# да управлява производителността.
Редактиране:-И за да избегнете завършването на основната нишка първо добавете
Task.WaitAll(myTask);
Това ще заспи основната нишка, докато задачата приключи.