Имя: Пароль:
IT
 
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
Ну я не знаю какие там у вас указатели. Я имею ввиду числовую переменную, в которой записан адрес другой переменной.