Форум программистов, компьютерный форум CyberForum.ru

Есть два потока и глобальный массив, могут ли потоки перепутать элементы глобального массива или другого контейнера? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как средствами BC 3,1 запросить свободное место на указанном жёстком диске? http://www.cyberforum.ru/cpp-beginners/thread444851.html
Извиняюсь, если создал лишнюю тему, но ничего по своей проблемке я вроде не заметил. Если что-то есть, поправьте. А вопрос в следующем: как средствами BC 3,1 запросить свободное место на указанном жёстком диске?
C++ Указания адреса функции Есть библиотека. Нужно чтобы функция в моей библиотеке указывала на функцию в чужой. Вот мой код: typedef int (WINAPI WJMP)(); extern "C" __declspec(dllexport) WJMP Test(void); *Test= GetProcAddress(hLib, "Test"); Ошибки 1. error C2091: функция возвращает функцию http://www.cyberforum.ru/cpp-beginners/thread444782.html
C++ Как аннулироват потоки, которые заблокированы по перменной условия (pthread)?
И никак, что ли не аннулировать, получается? Вот, допустим, есть несколько потоков которые заблокированы по переменной условия: pthread_mutex_lock (&mutex); if (!(mozno_idti)) { pthread_cond_wait(&cond, &mutex); } pthread_mutex_unlock (&mutex);
Есть 4 потока. После осуществления блокировки барьером, 3 куда-то деваются, куда? (pthreads) C++
Друзья! Как мог упростил код, вот суть В цикле создаются 4 вспомогательных потока, кадый из которых в цикле же 2 раза выводит свой TID. После первого вывода TIDа каждым потоком срабатывает блокировка барьером. Ну то есть свсе потоки по разу выведут свой TID и ждут друг друга. После того, как все собрались, в вызывающий поток отправляется сигнал типа:"Мы собрались" (потоки пока не двигаются)....
C++ Внедрение мультиплеера C++ http://www.cyberforum.ru/cpp-beginners/thread443994.html
Привет дорогие форумчане. Возникла задача сделать мультиплеер для игры(исходных кодов которой я не имею) . Разбил на задачки и вот одна из них. Первая задача это перемещение игроков. вот моя идея. Нужно получить координаты одного игрока(P1) (x,y,z) передать на сервер,сервер передает всем остальным игрокам координаты P1(x,y,z). с этим я разобрался. теперь вопрос в другом ,как обработать...
C++ Графический интерфейс приложений на C? Как сделать графический интерфейс приложения под Linux написанного на C? подробнее

Показать сообщение отдельно
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
12.02.2012, 15:11     Есть два потока и глобальный массив, могут ли потоки перепутать элементы глобального массива или другого контейнера?
Начать с массивов, допустим
То есть ситуация такая: пусть имеется два потока и глобальный массив элементов int из двух элементов, один поток выводит в цикле значение нулевого элемента, а второй- значение первого; вот сижу думаю- могут ли они перепутать элементы?

С одной стороны не могут потому как обращение к элементу по индексу однозначаено идентифицирует этот элемент; а с другой стороны, кто его знает, как на уровне ассемблера это реализовано?

Да, естессно, речь пока не идёт об использовании мьютексов или других средств синхронизации.
(А потом когда разберёмся с массивами можно будет перейти на более сложные контейнеры, словари там множества и прочая)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru