Форум программистов, компьютерный форум, киберфорум C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 11.04.2015
Сообщений: 18
1

Совместная работа timer и backgroundWorker

10.05.2016, 21:12. Показов 893. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, у меня возникла проблема, как организовать асинхронный режим работы timer и backgroundWorker, что бы и таймер отсчитывал с равным интервалом такты и backgroundWorker работал в фоновом режиме без проблем.

Для BGW :
C#УвеличитьКопировать
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            BackgroundWorker worker = sender as BackgroundWorker;
            double p = Convert.ToInt32(Math.Round((t_end / tk), 1));
 
            Thread.CurrentThread.Priority = ThreadPriority.Highest;
            Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.BelowNormal;
 
            for (k = 0; k <= p + correct; k += 1)
            {
                if (worker.CancellationPending == true)
                {
                    e.Cancel = true;
                    break;
                }
                else
                {                    
                    RungeKutta(k);
                    worker.ReportProgress(Convert.ToInt32(...);
                }
            
            }
 
        }
Для Timer:

C#УвеличитьКопировать
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public System.Timers.Timer mt = new System.Timers.Timer();
            {
            mt.SynchronizingObject = null;
            mt.Elapsed += new System.Timers.ElapsedEventHandler(timer1_Tick);
            mt.AutoReset = true;
            mt.Interval = 1000;
            }
private void timer1_Tick(object source, System.Timers.ElapsedEventArgs e)
        {
            del ++;
            Action<int> action = DoChangeTicks;
            if (InvokeRequired)
            {
                Invoke(action, del);
            }
            else
            {
                action(del);
            }
 
        }
По отдельности все работает нормально, а вот вместе начинаются сбои. Помогите решить.
0
10.05.2016, 21:12
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.05.2016, 21:12
Ответы с готовыми решениями:

Совместная работа ProgressBar и BackgroundWorker
Долгое время уже мучаюсь с этим прогресс баром, который связан с backgroundWorker'oм. Пробовал разные варианты, как это сделать, но......

Timer BackGroundWorker
Здравствуйте. Имеется проект медиаплеера, написанный на C#. Там для вывода изображения на холст используется следующая...

Как обеспечить работу Timer в BackGroundWorker
Подскажите как сделать так чтобы в BackGroundWorker'e работал таймер?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.05.2016, 21:12
Помогаю со студенческими работами здесь

Совместная работа
Посоветуйте пожалуйста,как можно организовать работу с базой Акцесс 2002 по сети, чтоб база была на сервере, а на компьютерах...

Совместная работа с БД по сети
Доброго времени суток! Есть задача которую я хочу решить. но чтобы не изобретать велосипед хотел спросить у людей поопытнее (тема думаю...

Совместная работа 10 и 100Мб/с ?
Есть нестандартная задача - надо собрать следующую концигурацию: хаб (концентратор), два устройства 100 Мб/с и одно устройство 10 Мб/с....

Совместная работа с Windows
Добрый Всем день! Проблема такая.Нужно из базы Android ,по сети, отослать в базу Access Windows данные и распечатать их .Возможно ли это ...

совместная работа прерываний
Такой вопрос возник: как будут отрабатываться остальные прерывания, если обработка первого прерывания еще не завершена? Я вот к чему,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Навигация с помощью React Router
hw_wired 13.02.2025
React Router - это наиболее распространенное средство для создания навигации в React-приложениях, без которого сложно представить современную веб-разработку. Когда мы разрабатываем сложное. . .
Ошибка "error:0308010C­:digi­tal envelope routines::unsup­ported"
hw_wired 13.02.2025
Если вы сталкиваетесь с ошибкой "error:0308010C:digital envelope routines::unsupported" при разработке Node. js приложений, то наверняка уже успели поломать голову над её решением. Эта коварная ошибка. . .
Подключение к контейнеру Docker и работа с его содержимым
hw_wired 13.02.2025
В мире современной разработки контейнеры Docker изменили подход к созданию, развертыванию и масштабированию приложений. Эта технология позволяет упаковать приложение со всеми его зависимостями в. . .
Отличия интерфейсов и типов в TypeScript
hw_wired 13.02.2025
TypeScript - мощное средство для создания качественного и поддерживаемого кода, который расширяет возможности JavaScript, добавляя систему статической типизации. В отличие от динамической типизации. . .
Async/await в циклах JavaScript
hw_wired 13.02.2025
Современная веб-разработка немыслима без асинхронного программирования. Когда приложение выполняет длительные операции - загрузку данных с сервера, чтение файлов или обработку медиа-контента, важно. . .
Git не работает на MacOS после апдейта
hw_wired 13.02.2025
После очередного обновления MacOS многие разработчики сталкиваются с неприятным сюрпризом - Git перестает работать и выдает ошибку "xcrun: error: invalid active developer path". Эта проблема особенно. . .
Git отказывается объединять несвязанные истории
hw_wired 13.02.2025
Git работает безупречно, пока мы не сталкиваемся с особыми ситуациями вроде объединения веток с разными корнями истории. В таких случаях система контроля версий может преподнести неприятный сюрприз в. . .
Проверка email с помощью JavaScript
hw_wired 13.02.2025
Email-адреса имеют довольно запутанную спецификацию, которая допускает множество неочевидных вариантов написания. Например, знали ли вы, что адрес вида "name+tag@domain. com" или даже. . .
Замена всех вхождений строки с помощью JavaScript
hw_wired 13.02.2025
JavaScript предлагает несколько способов для выполнения операций замены в строках, каждый из которых имеет свои особенности и область применения. От простейшей замены первого найденного вхождения до. . .
Отличия между ~ и ^ в package.json. Версии в Node.js
hw_wired 13.02.2025
Управление зависимостями в Node. js проектах - это настоящее исскуство, требующее глубокого понимания механизмов версионирования пакетов. В центре этого процесса находится файл package. json, который. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru