Тогда вопрос (по самому первому примеру) насчет независимого выполнения: в обоих потоках используются одни и те же переменные = уже как бы намек,. что жди беды, т.е. что рано или поздно возникнут коллизии (кроме того, насколько это из реальной жизни я имею в виду такое использование переменных)? Кроме того, второй поток - бесконечный цикл. Насколько это корректно, один из потоков делать таковым и насколько эта ситуация из реальной жизни.
Вообще, насколько грамотнее бы было тогда всю программу оформить в виде бесконечного цикла, а внутри него уже потоки организовывать?
А не проще ли просто определиться в каком месте код параллельный, а в каком последовательный - для данного примера просто из каждого потока получить промежуточные суммы, а потом их просто сложить?
Конечно нет, потому что, в итоге, скажем так, вы получите идеологический перекос и он начнет усугубляться, в будущем, в излишках железа и кода. Уже проверено и перепроверено. В итоге вам все равно придется переходить на "прямую" идеологию.
Простой пример. Есть у вас проц с параллельным бэком, вам из ЯП нужно организовать параллельное вычисление (не важно чего), тогда к текущим инструкциям камня пишете еще сет, на основе его пишите интерефейс и в виде библиотек подключаете его к ЯП, а потом уже в контексте процедур и функций этой библиотеки делаете свои параллельные дела. Ничего не напоминает?
Можно сделать по другому. Например, для такого кода:
Параллельно
Нач
х1 = 1;
х2 = 2;
х3 = 3;
Конец;
просто пишите "параллельный" компилятор и фронт камня делаете параллельным. Такой подход как раз дает равномерность при загрузке программера, компилятора и проца - каждый играет свою роль без переоборов или недоборов.
Усугубляю. Какой алгоритм решения той или иной задачи эффективнее, последовательный или параллельный (точнее будет сказать последовательно-параллельный, он же ППА)? Ответ по-моему очевиден. Тогда следующий вопрос - по "мотивам" ППА какой должен быть код на коком-либо ЯП? И опять все на поверхности, т.е. последовательно-параллельным ( ЯП тогда должен по-сути своей называться явно параллельным языком программирования - ЯПЯП)! Тогда для ЯПЯП каким должен быть компилятор и фронт процессора?
К вопросу о костылях, согласно текущим реалиям, фронт процессоров (по сути на текущий момент они все RISC) последовательный, а бэк, соответственно, параллельный. Тогда вопрос, как вы будете организовывать параллельные вычисления на уровне какого-либо языка программирования?
Да особо не за что, да и насчет своего метода - я только за, пусть каждый своим опытом обзаводиться и желательно без давления со стороны... (Кстати, насчет оптимально-не оптимально при изучении языка штука субъективная. Я просто вспоминаю, как это делал я и теперь, что называется, с высоты положения делал бы это несколько иначе).
Самым "вкусным" в любом иностранном языке являются два скила - умение говорить и аудировать. Если с аудированием, т.е. восприятием иностранной речи на слух, проблем особых нет (= большлй объем видеоинформации с субтитрами), то вот с говорением могут возникнуть. Поэтому начинать нужно с грамматики, но не с какой попало , а с такой, которая как раз и ориентирована на наработку навыка говорения (собственно говоря она так и называется - говоритика). Самая первая говоритика - это "Малый прыжок в английский ..." А.Н.Драгункина (он был самым первым в смысле говоритикостроения))), потом можете посмотреть говоритику Надежды Счастливой (собственно она этот термин и придумала), ну или мой вариант (здесь http://ptlib.narod.ru/lists/booklist.html, "Новый малый прыжок ..."). А потом уже все остальное, как описано у автора (кстати, у автора не очень оптимально).
Кстати, сам учил примерно так, как автор предлагает, только на определенный момент оказалось что такое артикли и префекты по сути своей не знаю (поэтому говоритика в любом виде на первое, если знаете еще варианты говоритики - дайте знать).
Да и еще раз кстати - в русском языке и артикли и перфекты есть ;)
Ну да это как бы частный случай. У И.Н.Калинаускаса в одной из книг есть отсыл на то, что уровень невротизации в районе 80-х годов прошлого века что в Советском Союзе что на Западе составлял 52 на 46 процентов (скорее всего 46 для СССР). Сейчас же по нашим "нервным" временам (= эпоха информационного потопа) уже наверно нет смысла говорить о невротизации (ибо зашкаливает). Да, собственно, и не говорят, а пользуют (уже за рамками психиатрии) слово шизофреницация. Как то так ...
Тогда вопрос (по самому первому примеру) насчет независимого выполнения: в обоих потоках используются одни и те же переменные = уже как бы намек,. что жди беды, т.е. что рано или поздно возникнут коллизии (кроме того, насколько это из реальной жизни я имею в виду такое использование переменных)? Кроме того, второй поток - бесконечный цикл. Насколько это корректно, один из потоков делать таковым и насколько эта ситуация из реальной жизни.
Вообще, насколько грамотнее бы было тогда всю программу оформить в виде бесконечного цикла, а внутри него уже потоки организовывать?
А не проще ли просто определиться в каком месте код параллельный, а в каком последовательный - для данного примера просто из каждого потока получить промежуточные суммы, а потом их просто сложить?
Конечно нет, потому что, в итоге, скажем так, вы получите идеологический перекос и он начнет усугубляться, в будущем, в излишках железа и кода. Уже проверено и перепроверено. В итоге вам все равно придется переходить на "прямую" идеологию.
Простой пример. Есть у вас проц с параллельным бэком, вам из ЯП нужно организовать параллельное вычисление (не важно чего), тогда к текущим инструкциям камня пишете еще сет, на основе его пишите интерефейс и в виде библиотек подключаете его к ЯП, а потом уже в контексте процедур и функций этой библиотеки делаете свои параллельные дела. Ничего не напоминает?
Можно сделать по другому. Например, для такого кода:
Параллельно
Нач
х1 = 1;
х2 = 2;
х3 = 3;
Конец;
просто пишите "параллельный" компилятор и фронт камня делаете параллельным. Такой подход как раз дает равномерность при загрузке программера, компилятора и проца - каждый играет свою роль без переоборов или недоборов.
... и (как говорят в Одессе и Израиле)) вы будете утверждать, что ему никогда не присвоят почетного звания генерала Пурпозы)))?
Усугубляю. Какой алгоритм решения той или иной задачи эффективнее, последовательный или параллельный (точнее будет сказать последовательно-параллельный, он же ППА)? Ответ по-моему очевиден. Тогда следующий вопрос - по "мотивам" ППА какой должен быть код на коком-либо ЯП? И опять все на поверхности, т.е. последовательно-параллельным ( ЯП тогда должен по-сути своей называться явно параллельным языком программирования - ЯПЯП)! Тогда для ЯПЯП каким должен быть компилятор и фронт процессора?
К вопросу о костылях, согласно текущим реалиям, фронт процессоров (по сути на текущий момент они все RISC) последовательный, а бэк, соответственно, параллельный. Тогда вопрос, как вы будете организовывать параллельные вычисления на уровне какого-либо языка программирования?
Да особо не за что, да и насчет своего метода - я только за, пусть каждый своим опытом обзаводиться и желательно без давления со стороны... (Кстати, насчет оптимально-не оптимально при изучении языка штука субъективная. Я просто вспоминаю, как это делал я и теперь, что называется, с высоты положения делал бы это несколько иначе).
Самым "вкусным" в любом иностранном языке являются два скила - умение говорить и аудировать. Если с аудированием, т.е. восприятием иностранной речи на слух, проблем особых нет (= большлй объем видеоинформации с субтитрами), то вот с говорением могут возникнуть. Поэтому начинать нужно с грамматики, но не с какой попало , а с такой, которая как раз и ориентирована на наработку навыка говорения (собственно говоря она так и называется - говоритика). Самая первая говоритика - это "Малый прыжок в английский ..." А.Н.Драгункина (он был самым первым в смысле говоритикостроения))), потом можете посмотреть говоритику Надежды Счастливой (собственно она этот термин и придумала), ну или мой вариант (здесь http://ptlib.narod.ru/lists/booklist.html, "Новый малый прыжок ..."). А потом уже все остальное, как описано у автора (кстати, у автора не очень оптимально).
Кстати, сам учил примерно так, как автор предлагает, только на определенный момент оказалось что такое артикли и префекты по сути своей не знаю (поэтому говоритика в любом виде на первое, если знаете еще варианты говоритики - дайте знать).
Да и еще раз кстати - в русском языке и артикли и перфекты есть ;)
Ну да это как бы частный случай. У И.Н.Калинаускаса в одной из книг есть отсыл на то, что уровень невротизации в районе 80-х годов прошлого века что в Советском Союзе что на Западе составлял 52 на 46 процентов (скорее всего 46 для СССР). Сейчас же по нашим "нервным" временам (= эпоха информационного потопа) уже наверно нет смысла говорить о невротизации (ибо зашкаливает). Да, собственно, и не говорят, а пользуют (уже за рамками психиатрии) слово шизофреницация. Как то так ...