powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Выполнение оператора каждые 2 (3,4...) раза
11 сообщений из 11, страница 1 из 1
Выполнение оператора каждые 2 (3,4...) раза
    #36837698
Upgrader
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посоветуйте, как лучше запустить выполнение оператора в бесконечном цикле через каждые x раз прохождения цикла?

Язык Си, но мне вообще принцип хорошего программирования интересен. :)
...
Рейтинг: 0 / 0
Выполнение оператора каждые 2 (3,4...) раза
    #36837724
Берлuнгер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
развернуть цикл (полностью или частично)
...
Рейтинг: 0 / 0
Выполнение оператора каждые 2 (3,4...) раза
    #36837730
Upgrader
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Берлuнгерразвернуть цикл (полностью или частично)В каком смысле?
...
Рейтинг: 0 / 0
Выполнение оператора каждые 2 (3,4...) раза
    #36837771
Берлuнгер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UpgraderБерлuнгерразвернуть цикл (полностью или частично)В каком смысле?

Код: plaintext
1.
2.
3.
4.
5.
6.
for (int i =  0 ; i < n; ++i)
{
  if ((i& 3 )== 0 )
    check(i);
  sum(i);
}

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
for (int i =  0 ; i < n;)
{
  check(i);
  sum(i++);
  sum(i++);
  sum(i++);
  sum(i++);
}
...
Рейтинг: 0 / 0
Выполнение оператора каждые 2 (3,4...) раза
    #36837854
Upgrader
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все равно не понял смысла этих For ...
...
Рейтинг: 0 / 0
Выполнение оператора каждые 2 (3,4...) раза
    #36837884
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
int i= 0 ;
while(true)
{
    if(i% 4 == 0 )
        CheckSomethingEveryFourIteration();

    i++;
}
...
Рейтинг: 0 / 0
Выполнение оператора каждые 2 (3,4...) раза
    #36837887
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UpgraderВсе равно не понял смысла этих For ...

фор это вовсе не бесконечный цикл
...
Рейтинг: 0 / 0
Выполнение оператора каждые 2 (3,4...) раза
    #36837893
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вообще я подозреваю что тебе нужно что-то опрашивать, периодически. В этом случае лучше опрашивать в цикле, в конце цикла делать слип и засыпать на какое-то время (100-200 миллисекунд). Так как все зациклившиеся куски кода грузят процессор по полной.
...
Рейтинг: 0 / 0
Выполнение оператора каждые 2 (3,4...) раза
    #36837909
junior  idiot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rstudioфор это вовсе не бесконечный цикл
Вполне может быть им (и на вкус многих программистов, for(;;) выглядит приятнее, чем while(1)).

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
#define EVERY1(n,c,s) { \
		int ii =  0 ; \
		for (;; ++ii) { \
			if (ii == n) { \
				c; \
				ii =  0 ; \
			} \
			s; \
		} \
	}
#define EVERY2(n,c,s) \
	for (;;) { \
		int ii =  0 ; \
		c; \
		for (; ii < n; ++ii) { \
			s; \
		} \
	}
(это схематично; на лиспе могло бы получиться и красивше и может даже юзабельно)
...
Рейтинг: 0 / 0
Выполнение оператора каждые 2 (3,4...) раза
    #36838080
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UpgraderПосоветуйте, как лучше запустить выполнение оператора в бесконечном цикле через каждые x раз прохождения цикла?

Язык Си, но мне вообще принцип хорошего программирования интересен. :)
Если нужно контролировать progress какого-то численного метода, то лучше отдельным потоком снимать с него показания через атомарные чтения. С периодом 3-5 секунд. Для человеческого восприятия больше и не требуется. Если вы пытаетесь и GUI и численный метод сделать единым потоком, то можете попасть в просадку производительности. Никогда точно не угадаете, через сколько циклов обновлять progress-bar и в худшем случае ваши вычисления будут безбожно "тормозить" на операциях ввода-вывода графики. Или будут "отмораживаться" на несколько часов.
...
Рейтинг: 0 / 0
Выполнение оператора каждые 2 (3,4...) раза
    #36838091
Upgrader
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rstudioа вообще я подозреваю что тебе нужно что-то опрашивать, периодически. В этом случае лучше опрашивать в цикле, в конце цикла делать слип и засыпать на какое-то время (100-200 миллисекунд). Так как все зациклившиеся куски кода грузят процессор по полной.Да, так и есть. Спасибо.
А грузить процессор могу на все 100%, потому что это микроконтроллер (не компьютер). :)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Выполнение оператора каждые 2 (3,4...) раза
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]