Здравствуйте, Ведмедь, Вы писали:
B>>> До программирования, языков программирования и ЭВМ был опыт инженерных вычислений параллельно протекающих процессов и связан он был с потоками (газовыми, жидкостными и т.д.), но никак не с нитью. А первые переводчики thread в паралельных вычислениях это те самые инженеры, которые считали эти самые потоки или люди, с ними связанные. Но никак не швеи и ткачи. N>>И что, эти переводчики не понимали, чем stream отличается от thread? В>А при чем тут stream? Надо было найти хорошую ассоциацию для перевода thread, потому как дословный перевод (нитка) получается совсем непонятный — при чем тут нитка и паралельное выполнение?
При том же, при чём thread к simultaneous processes. Вообще, зачем пытаться вводить какие-то заведомо конфликтующие ассоциации для принципиально нового понятия?
В> А с потоком асоциаций хватало — и единая струя воды может биться на различные паралельные потоки и т.д. Можно найти яркий ассоциативный образ для нитки, связанный с паралельным выполнением?
Естественно, такого образа ещё нет, поэтому его и нельзя найти. Верёвка — вервие простое, веревистое.
N>>В данном случае дословный перевод лучше. Потому что даёт короткое, ясное слово, не имеющее других смыслов (и не надо про fiber — оно потому и fiber, что это как thread, только ещё тоньше). В отличие от потока, который имеет дофига смыслов — и flow, и stream, причём оба имеют несколько мест применений (например, есть поток команд, есть поток ввода-вывода). В>Угумс. Только нитка дает не верное направление — нитка в русском языке подчеркивает связь между конечными точками (нить рассуждений, связующая нить и т.д.), а тут для перевода и понимания важнее паралельность выполнения (два паралельно текущих потока).
А что, в английском понятие thread имеет смысл параллельности выполнения?
Потому и было взято слово thread, что все существующие слова были заняты. А советские переводчики доблестно наступили на те грабли, которые английские таки нащупали и обошли.
N>>flow — это уже то, что происходит внутри нити. Но не она сама, потому что нить — это поток выполнения вместе с контекстом. Объединение терминов здесь убивает понимание проблематики. В>Поток выполнения без парареллелизма это алгоритм получается.
Нет, потому что от алгоритма до реальной программы — пропасть.
В> А фишка thread в паралельном выполнение, а не в последовательности команд или контексте. Так же фишка процессов это изолированность друг от друга.