Jan. 18th, 2010

pechkin: (Default)
for (int i = 0; i < CompressionModes.Count; i++)
if (DateTime.Now.Ticks % 2 == 0)
Modes.Add(CompressionModes[i]);

Как справедливо заметили друзья, этот алгоритм рандомален только тогда, когда ты не знаешь, сколько времени занимает прогон цикла.

Кстати, он не сработал. Потому что:

[11:01] Beorning: Не, ты не понял. До первого прохода цикла оно неизвестное.
А дальше - оно определилось. Цикл выполняется за z тиков процессора.
Если z четное - все как первое. Если нечетное - то попеременно.

Отклонения возможны только если время от времени тики отжирают другие процессы :)

С рандомом лучше.

А вот инитить рандом тиками - вообще самое то. 
[11:01] 21296772: ну, я всегда предполагаю, что другие процессы существуют и отжирают тики.
[11:01] 21296772: Или не существуют и не отжирают, это рандомально.

March 2026

S M T W T F S
12 3 4567
891011121314
15161718 192021
22 232425 262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 27th, 2026 10:16 pm
Powered by Dreamwidth Studios