|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.07.2013, 06:13 | #1 |
Форумчанин
Регистрация: 01.11.2012
Сообщений: 770
|
Снова я и снова геморрой, только уже с многопоточностью
Вобщем потоки вроде и пашут но выдают один и тот же результат такое же количество раз сколько и запущено потоков, пробовал критические секции, только почему-то при запуске выдает ошибку (если их использовать), кнопки СТОП пока что нету (дабы небыло вопросов)... Не люблю потоки, и всегда у меня с ними проблемы, прошу помощи.
Кнопка СТАРТ: Код:
Код:
|
07.07.2013, 06:39 | #2 |
Далеко не
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,512
|
Вот как делал это я:
Код:
|
07.07.2013, 06:41 | #3 |
Форумчанин
Регистрация: 01.11.2012
Сообщений: 770
|
Кольша, спс за кусок кода, сейчас попробую
|
07.07.2013, 06:56 | #4 |
Форумчанин
Регистрация: 01.11.2012
Сообщений: 770
|
то же самое... сколько потоков указываю столько раз выдает один и тот же результат (если потоков 5 то вместо 1 раза выдает 5 раз одно и то же (мне кажется таки нужны критические секции в моем случае))
при использовании TRTLCriticalSection после нажатия кнопки "СТАРТ" выдает ошибку Access violation 77A4224D Последний раз редактировалось FleXik; 07.07.2013 в 06:59. |
07.07.2013, 07:31 | #5 |
Далеко не
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,512
|
Ну дак надо указывать входные данные разные, или разбивать имеющиеся на части, сначала скажи, что ты хочешь получить от потоков, а потом уже посмотрим.
|
07.07.2013, 07:34 | #6 |
Форумчанин
Регистрация: 01.11.2012
Сообщений: 770
|
Кольша, что значит что я хочу получить от потоков?
пример как разбивать на части? |
07.07.2013, 07:47 | #7 |
Далеко не
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,512
|
Ну например тебе надо выполнить n действий, разбиваешь эти действие на X потоков
запускаещь цикл for i:=0 to round(n/x) do create_job(i)ж |
07.07.2013, 08:03 | #8 |
Форумчанин
Регистрация: 01.11.2012
Сообщений: 770
|
Кольша, понимаешь, там где у меня основной код (который я убрал в коде выше), там ничего сверхестественного и сложного нету (пару запросов + парсинг кое каких параметров из запросов), но почему-то в RichEdit выдает столько же одинаковых ответов сколько и потоков указано, бред какой-то, я уже всю ночь гуглю но ничего не получается(
|
07.07.2013, 08:11 | #9 |
Форумчанин
Регистрация: 01.11.2012
Сообщений: 770
|
не пойму одного, почему создаются сразу все (к примеру) 5 потоков и они все берут одни и те же строки из .txt вместо того чтобы брать следующие... возможно в цикле у меня трабл?
|
07.07.2013, 08:28 | #10 |
Далеко не
Участник клуба
Регистрация: 11.08.2011
Сообщений: 1,512
|
Дак епт, надо указывать потоком с какого место брать, про это я тебе и толкую.
Они берут txt с самого начала, и делают одно и тоже. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
И снова COM.... | kineziz | Общие вопросы C/C++ | 6 | 22.07.2012 23:10 |
и снова капча! | acteralex | PHP | 14 | 14.07.2012 20:31 |
Снова и снова. | ladose | Общие вопросы Delphi | 1 | 11.04.2012 03:37 |
и снова С++ | ltony | Помощь студентам | 5 | 04.02.2012 02:16 |
MDIChild снова и снова... | Siber_Dec | Общие вопросы Delphi | 2 | 13.12.2009 03:24 |