|
2 / 2 / 2
Регистрация: 29.07.2012
Сообщений: 176
|
||||||
Потоки с параметрами30.05.2013, 22:58. Показов 3192. Ответов 23
Метки нет (Все метки)
Добрый вечер!
Пытаюсь работать с потоками,которые имеют функцию с 5-ю парамерами. Программу сделал,но при работе она вылетает с ошибкой "Индекс находился вне границ массива". Но при попытке пошаговой отладки клавишей F11 всё работает. Но массив в любом случае заполняется не полностью. В чём ошибка,и как исправить? И можно ли вернуть результат функции из какого либо потока?(если функцию изменить) код:
0
|
||||||
| 30.05.2013, 22:58 | |
|
Ответы с готовыми решениями:
23
Реализовать функции с опциональными параметрами и именованными параметрами Подпрограммы с типизированными параметрами -значениями и параметрами-переменными |
|
177 / 94 / 10
Регистрация: 27.05.2013
Сообщений: 290
|
|
| 31.05.2013, 01:03 | |
|
Конечно массив не заполнится, ты запускаешь кучу независимых потоков и даже не соизволишь дождаться окончания работы по Join()
0
|
|
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
|
| 31.05.2013, 04:53 | |
|
Возвращать результаты работы из функции в другом потоке, конечно, можно. Используйте либо какую-то переменную в их общей области видимости (что выглядит некрасиво и силно вас ограничивает), либо используйте события.Опишите его. Во втором потоке вызывайте, а в первом подпишитесь на него. А результат передается через параметры обработчика событий.
0
|
|
|
2 / 2 / 2
Регистрация: 29.07.2012
Сообщений: 176
|
||
| 31.05.2013, 09:44 [ТС] | ||
|
body90, с событиями ещё не работал
0
|
||
|
177 / 94 / 10
Регистрация: 27.05.2013
Сообщений: 290
|
||||||
| 31.05.2013, 10:30 | ||||||
|
Как минимум, ты перед выводом массива должен написать такую вещь.
2
|
||||||
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
||
| 31.05.2013, 13:56 | ||
|
Добавлено через 1 минуту Без событий (используя общую переменную), вы не будете знать когда функция вернула результат.
0
|
||
|
2 / 2 / 2
Регистрация: 29.07.2012
Сообщений: 176
|
|
| 31.05.2013, 14:02 [ТС] | |
|
body90, виноват,но я,как и большинство,видя красивое название темы,открывают сразу её...а остальное потом...
0
|
|
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
|
| 31.05.2013, 14:07 | |
|
Может поможет http://msdn.microsoft.com/ru-r... ys279.aspx
1
|
|
|
467 / 344 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
||
| 31.05.2013, 16:27 | ||
|
0
|
||
|
2 / 2 / 2
Регистрация: 29.07.2012
Сообщений: 176
|
|
| 31.05.2013, 21:46 [ТС] | |
|
Эх,всё равно не получается...заполняется несколько элементов,а остальные равны 0...даже после sleep(10000)
Тем более на Join ошибку выдавало-пришлось try влепить... В общем вот проект...
0
|
|
|
|
|||||||
| 02.06.2013, 18:00 | |||||||
0
|
|||||||
|
177 / 94 / 10
Регистрация: 27.05.2013
Сообщений: 290
|
||
| 02.06.2013, 18:30 | ||
|
0
|
||
|
177 / 94 / 10
Регистрация: 27.05.2013
Сообщений: 290
|
|
| 02.06.2013, 20:43 | |
|
Конечно, надо регистрировать имя, тип объекта, тип распространения (например пузырьком), делать Raise и вкладывать EventArgs. А то что вы делаете это лишь вызов функции по делегату.
0
|
|
|
|
|||
| 02.06.2013, 21:00 | |||
|
2. Событие есть ни что иное как поле-делегат и два метода: Add и Remove. (плюс потокобезопасность)
0
|
|||
|
177 / 94 / 10
Регистрация: 27.05.2013
Сообщений: 290
|
|
| 02.06.2013, 22:16 | |
|
Ок если вас забанили на msdn. Спрошу вас, ваше событие какой-то другой объект может поймать? Ну например контейнер, содержащий ваш объект (без явной привязки в коде)? Ведь как-то мышка, хардвеерное устройство, генерирует событие нажатия кнопки, причём не важно в каком потоке работает эта кнопка.
Ещё раз, без метода Raise вы никакие и нигде не вызовете события, а ваше "+=" это лишь приравнивание делегата функции и никаких системных событий не происходит при его разыменовании. То что, тут написано слово event, не делает его таковым с точки зрения механизма событий.
0
|
|
|
|
|||||
| 02.06.2013, 22:30 | |||||
|
0
|
|||||
|
177 / 94 / 10
Регистрация: 27.05.2013
Сообщений: 290
|
||||||
| 02.06.2013, 22:38 | ||||||
|
Я про управляемые события, а то что вы используете это лишь привязка делегата функции.
Вот как выглядит например бабл событие.
0
|
||||||
|
|
||
| 02.06.2013, 23:12 | ||
|
То есть вы предлагаете в консольном приложении подключать dll-ки от WPF и писать кучу этой требухи только для того чтобы передать значение в другой поток?
0
|
||
| 02.06.2013, 23:12 | |
|
Помогаю со студенческими работами здесь
20
Что такое потоки ввода, потоки вывода? Байтовые потоки и потоки символов Запуск с параметрами
процедура с параметрами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|