Форум программистов, компьютерный форум, киберфорум
Наши страницы
Haskell
Войти
Регистрация
Восстановить пароль
 
jhonyu
0 / 0 / 0
Регистрация: 27.03.2018
Сообщений: 2
1

ThreadDelay - странное поведение

27.03.2018, 14:23. Просмотров 241. Ответов 3
Метки нет (Все метки)

Хочу сделать задержку выполнения программы на какое-то время.В императиве есть Delay(..).
В Haskelle нашел threadDelay из Control.Concurrent.И так код:

Haskell
1
2
3
4
5
6
7
8
9
10
11
12
13
import Control.Concurrent
import Control.Concurrent.Async
 
worker x = do
                 threadDelay (50000000) --5 сек 
                 return $ 5*x
 
mainTh=  do 
               c<-async $ worker 1
               v<-wait c
               print $ v
 
main=mainTh
Как и предполагалось через 5 сек вывелось 5

Теперь изменим тупо на

Haskell
1
2
3
4
5
6
7
mainTh=  do 
               c<-async $ worker 1
               v<-wait c
               print $ v
               c<-async $ worker 2
               v<-wait c
               print $ v
Выводится примерно через 15 сек сразу 5 и 10.

А хотелось бы через 5 - 5 и через 10 - 10.

И с чем это связано с ленью или print?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2018, 14:23
Ответы с готовыми решениями:

Странное поведение
#include &lt;windows.h&gt; LRESULT CALLBACK WndProc(HWND hwnd,UINT iMsg,WPARAM wParam,LPARAM lParam);...

странное поведение Qt
до сих пор ковыряюсь с установкой qt в винде, поставил в XP, всё работает, всё компилится, всё...

Странное поведение ПК
Здравствуйте, форумчане! Нужна ваша помощь, ну или на худой конец - консультация. Ситуация...

Странное поведение if
в коде Select if CHARACTER_LENGTH(s.lname)=6 then s.lname||' '||s.fname||' '||s.mname end...

Странное поведение
Добрый день! Имеется класс с мейном: public class Main { // args - is path to file with...

3
Curry
3119 / 2135 / 261
Регистрация: 01.06.2013
Сообщений: 4,601
Записей в блоге: 9
27.03.2018, 19:08 2
Цитата Сообщение от jhonyu Посмотреть сообщение
Выводится примерно через 15 сек сразу 5 и 10.
У меня выводятся через 5 секунд каждое. У вас нолик лишний, по этому ждёт по 50 секунд.
ghc 8.0.2
2
jhonyu
0 / 0 / 0
Регистрация: 27.03.2018
Сообщений: 2
28.03.2018, 12:56  [ТС] 3
Вот елы палы.Запускал этот тест из Intellij IDEA и такое поведение, а запустил из ghci все нормально работает.
спасибо за наводку KolodeznyDiver
0
dsorokin
60 / 45 / 1
Регистрация: 25.06.2015
Сообщений: 73
01.04.2018, 20:31 4
И на всякий случай не забываем про опцию компилятора -threaded, а также, возможно, про опции системы времени исполнения +RTS -N. Это если покажется, что задержки якобы неточные. Без опции -threaded они запросто могут быть неточными в пределах секунд
1
01.04.2018, 20:31
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2018, 20:31

Странное поведение
Здравствуйте еще раз :) Теперь возникла другая непонятка. Есть класс StringParser, объекты которого...

Странное поведение!
Доброго времени суток! На лицо странное (на мой взгляд) поведение С++ Builder 6. Итак код:...

БД, странное поведение
Привет Создаю источник данных из папки (скрин 1 и 2). Запускаю проект, добавляю 3 строки, нажимаю...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.