![]() |
|
| Правила Форума редакция от 22.06.2020 |
|
|||||||
|
|
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже. |
|
![]() |
|
|
Опции темы | Опции просмотра |
Language
|
|
|
#1
|
|
Уважаемы камрады помогите пожалуйста справится с задачей .
Есть некий поток в Windows Apllication который запускается и работаеш очень долго надо что бы он при каждом переходе на новую итерацию инкриментировал public static int a проблема в том что такое действие приравнивается к кроспоточному програмингу с техниками коего я незнаком тоесть такая проа просто не компилится .
__________________
Проблема есть следствие ее решения... Чем больше я узнаю, тем больше чувствую себя дураком. |
|
|
|
|
| Реклама: | газовые плиты | купить съедобный букет | asus geforce rtx 5070 | Заходите на сайт MebelStol.ru: пеленальный столик с комодом - отличные цены и большой выбор! | обзор барнхаус |
|
|
#2
|
|||||||||||||||||||||||
что пишет? возможно, нужно поставить какието опции в свойствах проекта для инкремента желательно использовать атомарные функции, например, для увеличения - Interlocked.Increment(). фишка этих функций в том, что их работу нельзя прервать
__________________
THE TRUTH IS OUT THERE |
||||||||||||||||||||||||
|
|
|
| Сказали спасибо: |
|
|
#3
|
|
Ну пишет что попытка доступа к элэменту который был создан в другом потоке . Кароч мне надо организовать мониторинг работы потока .
А что за атомарные функции ?
__________________
Проблема есть следствие ее решения... Чем больше я узнаю, тем больше чувствую себя дураком. |
|
|
|
|
|
|
#4
|
||||||||||||||||||||||||||||||||||||||||||||||
может сделать, чтобы наш тред вызывал на итерациях какуюто функцию класса?
смотри, например, есть код: a += 10; мы точно не знаем как компилер переведёт этот код в асмовый код, может так: Код:
mov eax, a add eax, 10 mov a, eax
__________________
THE TRUTH IS OUT THERE |
|||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
| Сказали спасибо: |
|
|
#5
|
|
Да и деяйка с методом класса в треде прокатила большое спасибо
но все же меня интересует где это ест и что за функция такая. Interlocked.Increment()
__________________
Проблема есть следствие ее решения... Чем больше я узнаю, тем больше чувствую себя дураком. |
|
|
|
|
|
|
#6
|
||||||||||||||||||||||||||||||||||||||||||
вот:
может подойдёт адрес ms-help://MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.NETDEVFX.v20.en/cpref12/html/O_T_System_Threading_Interlocked_Increment.htm из мсдна это и есть атомарная функция инкремента
__________________
THE TRUTH IS OUT THERE |
|||||||||||||||||||||||||||||||||||||||||||
|
|
|
| Сказали спасибо: |
|
|
#7
|
|
Неактивный пользователь
Пол:
Регистрация: 04.12.2007
Сообщений: 32
Репутация: 4
|
Если используется мультипоточность и нет синхронизаций, типа оператора lock, не помешает добавить волшебное словечко volatile
|
|
|
|
![]() |
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| про блок питания | gelezyka | Скорая помощь | 23 | 28.05.2010 09:43 |
| блок питания | vetaliysch | Компьютерные проблемы | 5 | 14.10.2009 06:11 |
| Блок питания | oleg_bass | Компьютерное Железо | 2 | 09.12.2008 18:07 |
| Блок на Mozilla | Neu | Архив | 3 | 16.02.2008 22:59 |
| Блок питания | vohaUS | Архив | 2 | 04.02.2008 13:17 |
|
|