Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.02.15;
Скачать: [xml.tar.bz2];

Вниз

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

 
Кое кто   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.034 c
2-1231250146
Семён
2009-01-06 16:55
2009.02.15
Как изменить содержимое 2-й строки ListView без Clear?


15-1229364848
Anatoly Podgoretsky
2008-12-15 21:14
2009.02.15
Касперский спамит


6-1198764017
BillyJeans
2007-12-27 17:00
2009.02.15
Поиск ресурсов в сети...


15-1229778455
Knight
2008-12-20 16:07
2009.02.15
Turbo Delphi... что за шляпа...


15-1229688631
Кое кто
2008-12-19 15:10
2009.02.15
Как переводиться have got?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский