Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.02.15;
Скачать: CL | DM;

Вниз

Придумал свою систему разработки ПО   Найти похожие ветки 

 
Кое кто   (2008-12-21 16:48) [0]

Хотя может такое уже и есть?? Вообщем программа
записываеться в виде таблицы, где столбцы это
отдельные потоки, а каждая строка - это определенный квант времени
Например:

C = A + B | G = A*C
         | D = A*G
_____________________
H = I     | B = I
         |
Здесь C = A + B выполняеться в первом потоке и в этот же момент выполняеться
2 операции G = A*C D = A*G... При этом отдельные ячейки кода могут
также представлять собой такие таблицы... Отдельные прямоугольники
можно выделить как функцию и потом вставлять в других местах...
Хотелось бы услышать ваше мнение?


 
DVM ©   (2008-12-21 16:58) [1]


> а каждая строка - это определенный квант времени

как понимать записанные в одной и той же строке, но в разных столбцах разные команды, на одноядерном процессоре?


 
Кое кто   (2008-12-21 16:59) [2]

DVM ©   (21.12.08 16:58) [1]
2как понимать записанные в одной и той же строке, но в разных столбцах разные команды, на одноядерном процессоре?
Это уже дело компилятора, как скомпоновать...


 
DVM ©   (2008-12-21 17:14) [3]


> Это уже дело компилятора, как скомпоновать...

но мы то записывая их таким образом, рассчитываем на параллельное исполнение? Иначе какой смысл?


 
Кое кто   (2008-12-21 17:22) [4]

2DVM ©   (21.12.08 17:14) [3]
Она выполняеться также, как и многопоточная программа на Delphi на одноядерном процессоре...


 
DVM ©   (2008-12-21 17:24) [5]


> как и многопоточная программа на Delphi на одноядерном процессоре

но две команды из разных потоков не выполняются в один и тот же определенный квант времени, а у тебя в твоем описании получается, что выполняются.


 
asail   (2008-12-21 17:26) [6]


> но мы то записывая их таким образом, рассчитываем на параллельное
> исполнение? Иначе какой смысл?

Какой смысл не знаю, но можно добавить, что, даже на 2-х процессорах время выполнения A+B может быть не равно для A*C...
Хотя, обойти это можно с помощью ожидания: выполнил 1-й поток 1-ю строчку и ждет пока все остальные не отрапортуют об исполнении 1-й строчки тоже... Но смысла тоже не вижу...


 
Кое кто   (2008-12-21 17:27) [7]

2DVM ©
Для процессора, конечно, нет... Для ОС да...


 
DVM ©   (2008-12-21 17:33) [8]


> Кое кто

Т.е. твое ноу-хау это именно такая запись в виде таблицы?


 
Городской Шаман   (2008-12-21 17:37) [9]


> Кое кто   (21.12.08 16:48)  


Erlang
Главное в Erlang — его модель легковесных процессов. Перефразируя для Erlang слоган текущего дня «Everything is an object» («Всё является объектом»), можно сказать «Everything is a process» («Всё является процессом»).

Процессы дёшевы, создание процесса занимает не больше ресурсов, чем вызов функции. Единственным способом взаимодействия процессов является асинхронный обмен сообщениями.

При желании процесс может установить связь (link) с другими процессами и по выбору или получить сообщение о их смерти с указанием причины или разделить их участь.

Процесс имеет свой «почтовый ящик», откуда может выборочно читать сообщения, в чём очень помогает сопоставление по шаблону, код проверки «ящика» чем-то похож на программу на awk, нужное выгребается и обрабатывается, остальное остаётся или выбрасывается.


http://ru.wikipedia.org/wiki/Erlang


 
Кое кто   (2008-12-21 17:38) [10]

2asail
Естественно, это компилятор берёт на себя... В данном случае, в программе, которую я написал первая строка второго потока выполняеться дольше, чем
первая строка первого потока...Значит после выполнения первой команды первый поток ждет пока все остальные потоки не завершат выполнение команд данной строки...


 
Кое кто   (2008-12-21 17:42) [11]

2DVM
Т.е. твое ноу-хау это именно такая запись в виде таблицы?

+Возможность замены одним словом целой таблицы
+В такой системе может быть ещё кучу прибамбасов для удобства...



Страницы: 1 вся ветка

Текущий архив: 2009.02.15;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
2-1231410906
EastGod
2009-01-08 13:35
2009.02.15
Альтернативные потоки файлов


3-1215370641
flaxe
2008-07-06 22:57
2009.02.15
DBF


2-1230641465
neveGreen
2008-12-30 15:51
2009.02.15
Помогите написать функцию


6-1198858897
Jimmy
2007-12-28 19:21
2009.02.15
Игра через интернет


1-1207732858
tetris
2008-04-09 13:20
2009.02.15
Таймер "ловит" не все клики мыши