Здравствуйте,
Как лучше всего сделать обертку на функцией 'funс' что бы код выполнялся в порядке 1.3.2.4
Если класс 'A' и 'func' менять нельзя.
-- Task , ThreadPool — не подойдут т.к. код выпоняет "не немедленно"
-- new Thread — не пойдет, т.к. тред может висеть долго.
void main(){
var a = new A();
// ... код 1
a.func()
// ... код 2
}
class A {
func(){
// ... код 3
Thread.Sleep(100);
// ... код 4
}
}
Идеально подошлобы что-то вроде Task.Factory.StarNew, но чтобы таска сразу получила найвысший приоритет перед остальными тасками и если понадобиться — были приостановлены все другие таски, но по-умолчанию Task.Factory может положить таску в пул и ожидать завершения некоторых других.