On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 24.02.09 16:42. Заголовок: Clipper... Clipper... Clipper


Всем здрасти!
Кто-нибудь может профессионально объяснить, о чём идёт речь
между Steffen и Przemek?

Thanks!
(а больше и не знаю по ихнему)

Спасибо: 0 
Цитата Ответить
Ответов - 6 [только новые]


постоянный участник


Пост N: 615
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 25.02.09 14:47. Заголовок: Речь идет о сравнени..


Речь идет о сравнении реализации многопоточности в xBase++ и [x]Harbour, а именно соотношении производительности и защищенности.
Вкратце, модель xBase++ делает упор именно на защишенности, т.е. сохранности данных при обращении к ним более чем из одного потока исполнения. Harbour возлагает ответственность за целостность данных на программиста, при этом выигрывая в производительности (1% - это много или мало, а 10%?) и гибкости.
Также Пржемек ( разработчик Harbour ) отвергает миф о следовании Harbour модели многопоточности xBase++. Речь идет также о реализации многопоточности в xHarbour ( цитата: "while xHarbour is in that context at a dead-end" - это не я писал :) и переводить не буду).
Со своей стороны хочу отметить использование многопоточности и в xBase и в других языках программирования требует прежде всего знания предметной области (теория) и соблюдения определенной техники (практика). Само по себе наличие языковых конструкций, реализующих многопоточность делу много не поможет.

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 25.02.09 22:15. Заголовок: Открывая эту тему я..



Открывая эту тему я был уверен ( на 99,9%), что ответит именно Петр!


Петр, вам респект!

Вашими ответами и советами (как профессионала) в форуме я восхищен!

Но вам и держать "базар" (т.е. надеюсь получить исчерпывающие ответы на мои последующие вопросы (мой вольный перевод слова "базар")!


Петр пишет:

 цитата:
Речь идет о сравнении реализации многопоточности в xBase++ и [x]Harbour ...



А можно, по "рабоче-кристьянски" объяснить, что такое многопоточность, вообще? Не отсылайте в Google!

Петр пишет:

 цитата:
... Речь идет также о реализации многопоточности в xHarbour ( цитата: "while xHarbour is in that context at a dead-end" - это не я писал :) и переводить не буду).



Перевод этой строки после моей 2-х часовой е№ли со словарём: "в то время как xHarbour находится в том контексте в тупике"

Петр пишет:


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



Если знания в предметной области (?), то в какой ... ? Если знания в теории (?), то в кокой ... ?

Петр пишет:


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


А можно примеры языковых конструкций, реализующие многопоточность.


Thanks!


Спасибо: 0 
Цитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 25.02.09 22:49. Заголовок: Вот что даёт про мно..


Вот что даёт про многопоточность, правдо не по "рабоче-ктистьянски", Википедия:


 цитата:
Многопото́чность — свойство платформы (например, операционной системы, JVM и т. д.) или приложения, состоящее в том, что процесс, порождённый в операционной системе, может состоять из нескольких потоков, выполняющихся «параллельно», то есть без предписанного порядка во времени. При выполнении некоторых задач такое разделение может достичь более эффективного использования ресурсов вычислительной машины.

Такие потоки называют также потоками команд (в противоположность потокам данных) или (реже)[источник?] потоками выполнения (от англ. thread of execution); иногда называют «нитями» (буквальный перевод англ. thread) или неформально «тредами».

Сутью многопоточности является квазимногозадачность на уровне одного исполняемого процесса, то есть все потоки выполняются в адресном пространстве процесса. Кроме этого, все потоки процесса имеют не только общее адресное пространство, но и общие дескрипторы файлов. Выполняющийся процесс имеет как минимум один (главный) поток.

Многопоточность (как доктрину программирования) не следует путать ни с многозадачностью, ни с многопроцессорностью, несмотря на то, что операционные системы, реализующие многозадачность, как правило реализуют и многопоточность.

К достоинствам многопоточности в программировании можно отнести следующее:

* Упрощение программы в некоторых случаях, за счет использования общего адресного пространства.
* Меньшие относительно процесса временны́е затраты на создание потока.
* Повышение производительности процесса за счет распараллеливания процессорных вычислений и операций ввода/вывода.



Кто-нибудь использует в своих приложения на Harbour/xHarbour многопоточность?

Thanks!


Спасибо: 0 
Цитата Ответить



Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 25.02.09 23:04. Заголовок: RuR пишет: Открывая..


RuR пишет:

 цитата:
Открывая эту тему я был уверен ( на 99,9%), что ответит именно Петр!


Петр, вам респект!

Вашими ответами и советами (как профессионала) в форуме я восхищен!




Этими строками я никого из форума не хотел обидеть. А если кого и обидел, то простите.

Вопросы остаются в силе для всех желяющих ответиь.


Thanks!

Спасибо: 0 
Цитата Ответить
постоянный участник


Пост N: 616
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 26.02.09 10:41. Заголовок: Не знаю, по "раб..


Не знаю, по "рабоче-крестьянски" или нет, но зачастую когда хотят дать пример приложения активно использующего многопоточность, ссылаются на MS Word - это классика жанра. Один поток обрабатывает ввод с клавиатуры, в то время как второй поток фильтрует действия, выполненные с помощью мыши. Третий поток обновляет отображение на мониторе на основе данных, полученных из потоков обработки пользовательского ввода (клавиатура и мышь). Другие потоки могут обращаться к файлам на диске ( автосохранение данных) или делать какие-то перерасчеты.
Под языковыми конструкциями Harbour я имел ввиду функции семейства hb_thread*, hb_mutex*, hb_dbDetach, hb_dbRequest и обьявление переменных thread static.
Для лучшего понимая как это работает советую посмотреть примеры harbour\tests\mt\mttest*.prg от автора реализации многопоточности Harbour Przemyslawa Czerpaka, а также harbour\contrib\examples\uhttpd.

Что касается использования многопоточности в реальных задачах на Harbour/xHarbour - многопоточность Harbour реализована сравнительно недавно и конечно широко не используется. Я, к примеру, использую для фонового backup-а данных с отправкой на корпоративный ftp сервер, проверки наличия на этом же сервере новых версий программ, т.е. сравнительно простое применение.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 801
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.02.09 14:49. Заголовок: Петр пишет: Я, к пр..


Петр пишет:

 цитата:
Я, к примеру, использую для фонового backup-а данных с отправкой на корпоративный ftp сервер, проверки наличия на этом же сервере новых версий программ, т.е. сравнительно простое применение.



Ни фига себе простое ....
Автора в студию ....
Может Петр выложишь этот пример с комментариями ... Мы все будем тебе благодарны !!!


Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 5
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет