Я прошел через этот вопрос SO но это не помогло.
Здесь дело обстоит иначе. Я использую Backgroundworkers. 1-й фоновый рабочий начинает работать с изображением, вводимым пользователем, и внутри firstbackgroundworker_runworkercompleted () я использую вызов 3 других фоновых рабочих
algo1backgroundworker.RunWorkerAsync();
algo2backgroundworker.RunWorkerAsync();
algo3backgroundworker.RunWorkerAsync();
это код для каждого:
algo1backgroundworker_DoWork()
{
Image img = this.picturebox.Image;
imgclone = img.clone();
//operate on imgclone and output it
}
algo2backgroundworker_DoWork()
{
Image img = this.picturebox.Image;
imgclone = img.clone();
//operate on imgclone and output it
}
аналогичные операции выполняются в другом алгоритме * backgrougrondworker_doWork ().
ИНОГДА я получаю «InvalidOperationException - объект в настоящее время используется где-то еще». Это очень произвольно. Иногда я получаю это в algo1backgroundworker_DoWork, иногда в algo2backgroundworker_DoWork, а иногда и в Application.Run (new myWindowsForm ());
Я понятия не имею, что происходит.