![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#21 |
Пользователь
Регистрация: 30.06.2009
Сообщений: 39
|
![]()
Спасибо большое. Воспроизведу этот код у себя и разберусь. Если что буду спрашивать.
Кстати, что значит не синхронизирован, не соблюдает условия безопасности? И я вот почитал приведенный код. И так понял что 2 функции, в каждой часть задачи обрабатывается, и каждая функция на своем ядре работает. И еще если можно, распишите значение цифр и команд которые находятся th:=CreateThread(вот тут) Последний раз редактировалось MaTBeu; 01.07.2009 в 11:59. |
![]() |
![]() |
![]() |
#22 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
th2:=CreateThread(
Указатель на структуру безопасности, если 0 то по умолчанке, Размер стека 0 - по родительскому процессу, @tf2 - указатель на функцию потока, 0 - какой нить параметр, CREATE_NEW - флаг создания, tid - переменка куда запишется идентификатор потока); Хелп еще не отменили, подробности в WIN32SDK.HLP Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#23 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,604
|
![]()
В данном случае вам нужно либо использовать Interlocked функции, либо сделать схему синхронизации для взаимоисключающего доступа. Или сделать каждому потоку свою переменную, в которой будет результат вычисления, а потом просто сложить и все.
|
![]() |
![]() |
![]() |
#24 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
вообще, чувствуется, что где-то подвох..
если два потока будут считать одно и тоже, то и результат вычислений в каждом из потоков будет ОДИН И ТОТ ЖЕ! И это будет явно не быстрее, чем подсчитать это значение в ОДНОМ потоке и результат умножить на 2.... ![]() я прав?... |
![]() |
![]() |
![]() |
#25 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#26 |
Пользователь
Регистрация: 30.06.2009
Сообщений: 39
|
![]()
Привожу код своей программы, чтобы не возникало ни каких неточностей и предположений:
Код:
Последний раз редактировалось Stilet; 02.07.2009 в 09:13. |
![]() |
![]() |
![]() |
#27 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Что делает этот код и зачем им нужно весь процессор загружать?
I'm learning to live...
|
![]() |
![]() |
![]() |
#28 |
Пользователь
Регистрация: 30.06.2009
Сообщений: 39
|
![]()
Этот код возводит число 2 в 30999989 степень. а на вопрос зачем загружать процессор полностью для того что бы он не работал в пустую, всё таки время на обработку этой операции меньше будет. А то тут несколько месяцев надо.
Последний раз редактировалось Iong; 03.07.2009 в 06:13. |
![]() |
![]() |
![]() |
#29 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
это линейная операция...мне не кажется что её можно разбить
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#30 |
Пользователь
Регистрация: 30.06.2009
Сообщений: 39
|
![]()
Ну что, уважаемые программисты, ни у кого нет идей?
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Код игры на Паскале и на Делфи сильно отличается? Как переписать код с Паскаля в Делфи? | Mclaren | Помощь студентам | 2 | 27.04.2009 22:37 |
готовое приложение | ComeToDaddy | Помощь студентам | 17 | 03.04.2009 18:25 |
консольное приложение | user_jasser | Общие вопросы Delphi | 3 | 17.10.2008 12:17 |
Консольное приложение | a_priori | Общие вопросы Delphi | 6 | 12.03.2008 08:33 |
Пароль на приложение | Chals | Общие вопросы Delphi | 6 | 24.11.2007 21:32 |