![]() |
![]() |
![]() |
|
C# автоматическое распараллеливание потоков. | ☑ | ||
---|---|---|---|---|
0
Lama12
15.07.13
✎
09:59
|
Вопрос теоретический.
Если в приложении Win32 написанном в C# нет специальных конструкций управляющих распараллеливанием потоков, все приложение работает в один поток? Машина много процессорная. VC 2010. Вопрос возник из-за того что есть "плавающая" ошибка. На одних и тех же данных программа то работает, то ошибку выдает. |
|||
1
HeroShima
15.07.13
✎
10:01
|
скорее всего более одного
|
|||
2
DGorgoN
15.07.13
✎
10:04
|
Само по себе приложение не создает несколько потоков.
|
|||
3
Кирпич
15.07.13
✎
10:23
|
ну как всегда. понапишут нипойми чего и если не работает, то сразу в высокие материи, вместо того, чтобы искать ошибку в своей писанине.
|
|||
4
Дык ё
15.07.13
✎
10:23
|
как минимум, финализаторы выполняются в отдельном потоке
|
|||
5
tplink741nd
15.07.13
✎
10:24
|
"Если в приложении Win32 написанном в C# нет специальных конструкций управляющих распараллеливанием потоков, все приложение работает в один поток? " ДА
|
|||
6
HeroShima
15.07.13
✎
10:27
|
(5) за все сторонние библиотеки подписался и среду исполнения?
|
|||
7
tplink741nd
15.07.13
✎
10:29
|
(6) я выделил в своем ответе за что я подписался или ты немного ослеп и тебе очки нужно выписать?
|
|||
8
tplink741nd
15.07.13
✎
10:31
|
(0) автор если ты пишешь программу с потоками и есть вопросы
то кури тут http://www.rsdn.ru/article/dotnet/CSThreading1.xml |
|||
9
DGorgoN
15.07.13
✎
10:33
|
(6) Ты сам по моему четко обозначил "сторонние" и "среда исполнения". Теплое с мягким не путаем.
|
|||
10
HeroShima
15.07.13
✎
10:35
|
(9) Я не путаю. Когда явно синхронное приложение на входах методов не успевает получать данные, если не вставить задержку, это навевает мысли.
|
|||
11
HeroShima
15.07.13
✎
10:38
|
+Сторонними я назвал абсолютно все подключаемые сборки.
|
|||
12
DGorgoN
15.07.13
✎
10:38
|
(10) Правильно написанные внешние интерфейсы обычно ждут конца приема данных. Для приложений реального времени другие требования и языки.
Твое утверждение для си шарп подходит только для очень и очень криворуких программистов. Это нужно сделать в си шарп специально. 0 к такому вряд ли относится. |
|||
13
HeroShima
15.07.13
✎
10:40
|
(12) В том и дело, что ждать должны иногда эти самые "сторонние библиотеки". Криворукие программисты бывают по разные стороны баррикад.
|
|||
14
Дык ё
15.07.13
✎
10:48
|
(12) ненене :) сборщик мусора, а вместе с ним и все деструкторы, работает в отдельном потоке бай дизайн. а еще есть некоторые вполне себе штатные объекты, события которых прилетают в отдельном потоке
|
|||
15
Кирпич
15.07.13
✎
10:51
|
Исходные данные:
Машина много процессорная. VC 2010. Вопрос возник из-за того что есть "плавающая" ошибка. О чем тут спорить? какие приложения реального времени, криворукие программисты и задержки в приеме данных в синхронных приложениях? обажаю мисту. |
|||
16
Lama12
15.07.13
✎
10:53
|
Это не приложение реального времени.
Возможно не дал полноценной информации для анализа. Программа просто собирает системную информацию, делает скриншот экрана и отправляет все это на SharePoint посредством Web сервиса. Проблема при получении системной информации с операционки. Т.е. имя пользователя от которого сеанс, список процессов, название компьютера и т.д. Вся эта информация получается через "раз". |
|||
17
Кирпич
15.07.13
✎
10:55
|
(16) а потоки тебе чего покоя не дают?
|
|||
18
Lama12
15.07.13
✎
10:57
|
Имея старый опыт общения с Visual Studio (еще с win 98), очень много грешу на эту среду.
Тогда при использовании переменной типа вариант, в строке f=f+1; программа падала на 256, 65536 и т.д. |
|||
19
Lama12
15.07.13
✎
10:57
|
(17) :) См. (18)
Очень с опаской отношусь к VC |
|||
20
HeroShima
15.07.13
✎
10:59
|
(19) на вариант не грешишь?)
|
|||
21
Lama12
15.07.13
✎
10:59
|
(20) Nfr обещали же блага :)
|
|||
22
Кирпич
15.07.13
✎
11:00
|
(16) есть отладчик, там и смотри. или код сюда выложи. мож кто умный посмотрит и увидит косяк.
а грешить нужно сначала на себя(особенно если сам чайник). и в самую последнюю очередь на среду. |
|||
23
tplink741nd
15.07.13
✎
11:04
|
(18) "Имея старый опыт общения с Visual Studio (еще с win 98), очень много грешу на эту среду" не надо на нее грешить, на ней 1С написана.
(22) "а грешить нужно сначала на себя(особенно если сам чайник). и в самую последнюю очередь на среду." по делу замечания |
|||
24
tplink741nd
15.07.13
✎
11:25
|
(0) вот тебе еще мануал
http://www.rsdn.ru/article/baseserv/RUThreadingMethodology.xml |
|||
25
DGorgoN
15.07.13
✎
11:27
|
(14) Это относится к среде исполнения в си шарп. Вообще никогда глюков не замечал со всякими вариантами и прочими типами данных. Вот когда область чтения и записи переменных путаешь то возникают несуразицы, но это для незащищенного режима или для других яп.
|
|||
26
H A D G E H O G s
15.07.13
✎
11:45
|
(0) кривая работа с указателями.
|
|||
27
megabax
15.07.13
✎
11:50
|
(26) В C# нету указателей
|
|||
28
Кирпич
15.07.13
✎
11:53
|
(27) ну он же функции Windows API вызывает, а там есть.
|
|||
29
Кирпич
15.07.13
✎
11:54
|
или речь идет об указателях в голове автора
|
|||
30
H A D G E H O G s
15.07.13
✎
11:59
|
(27) Как C# работает со сторонними библиотеками, в которые надо передать данные сложнее числа?
|
|||
31
megabax
15.07.13
✎
12:25
|
(28) (30) Это не те указатели, которые в C++
|
|||
32
H A D G E H O G s
15.07.13
✎
12:29
|
(31) Апи функции пофиг какие там указатели, ты ей хоть число передавай, главное чтобы она обозначало правильный адрес в памяти.
|
|||
33
Кирпич
15.07.13
✎
12:32
|
Ну я не знаю какие там у вас указатели. Я имею ввиду числовую переменную, в которой записан адрес другой переменной.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |