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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
#1

СИ: одновременный вызов функции. библиотека. - C++

19.07.2011, 12:27. Просмотров 930. Ответов 3
Метки нет (Все метки)

Трудно задать вопрос, когда не очень понятно, что нужно получить в ответ. Попробую так:

Пусть есть некий my_lib.so/dll содержащий функцию foo(). Поскольку к foo() может произойти "одновременно" несколько обращений, то желательно каким либо образом организовать их обработку (в очередь поставить или ещё что).

Собственно вопрос, что именно нужно сделать и в какую сторону смотреть? Как правильно решаются подобные задачи?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.07.2011, 12:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос СИ: одновременный вызов функции. библиотека. (C++):

Вызов функции внутри другой функции с передачей локальной переменной по ссылке - C++
Столкнулся с очень с интересной проблемой. Можно ли так делать? #include <iostream> using std::cout; void f(const int &ref){...

Вызов родовой функции (нужно передать массив в качестве аргумента функции через указатель) - C++
#include <iostream> using namespace std; template <class T1> class mas { public: T1 n; T1 a; void input() ...

Вызов функции в параметре другой функции - C++
программа: #include <iostream> using namespace std; struct E { E() {} }; void f(const E& e)

Вызов функции в возврате значения функции - C++
Есть функция: int function1(a) { ...... return function2(function1(b),function1(c)); } Как работает такая хитрая система?

вызов функции из под функции - C++
Добрый вечер. Такая ситуация: есть функция, назовем ее MainThreadFunc. Как можно сделать так, чтобы любая другая функция, которую я напишу,...

Вызов функции - C++
Написать вызов функции для строковых переменных, помогите!

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
19.07.2011, 12:31 #2
возможно в сторону многопоточности и очереди выполнения?
0
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
19.07.2011, 13:29  [ТС] #3
Пока так:
Добавил переменную flag. Вставил в foo() бесконечный цикл проверяющий её значение перед телом функции и изменяющий на true/false при начале/окончании foo(). С помощью этих и похожих извращений реализовал некое подобие очереди. Выглядит не очень, но на пару дней хватит.

pthreads оставил на вечер - похоже, что потребует некоторого времени для изучения. Если вдруг, появятся еще какие-либо варианты, буду рад почитать.
0
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
19.07.2011, 14:40 #4
Цитата Сообщение от Vladimir. Посмотреть сообщение
Пока так:
Добавил переменную flag. Вставил в foo() бесконечный цикл проверяющий её значение перед телом функции и изменяющий на true/false при начале/окончании foo(). С помощью этих и похожих извращений реализовал некое подобие очереди. Выглядит не очень, но на пару дней хватит.

pthreads оставил на вечер - похоже, что потребует некоторого времени для изучения. Если вдруг, появятся еще какие-либо варианты, буду рад почитать.
...
Как нельзя делать синхронизацию!

Пожалуй самая большая глупость, какую только можно сделать чтобы приостановить поток – это загнать его в пустой цикл:
C++
1
while( некое_условие ) {}

То, чем вы занимаетесь назывется синхронизация.
Вот статья на тему: http://www.sofmos.com/lyosha/Article...hreading2.html
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.07.2011, 14:40
Привет! Вот еще темы с ответами:

Вызов функции - C++
Арифметические операции с длинными числами, которые представлены в виде массивов: есть функция умножения двух длинных чисел...

Вызов функции - C++
Здравствуйте! Не могу вызвать функцию, объясните причину. template <typename T> void Calc_etalon (QDir & DirTxt) { ...

Вызов функции - C++
Имеется такая вот функция, и к ней нужно написать вызов. #include <stdio.h> char *F12(char **p, int n) { int k,i,j; for...

Вызов функции. - C++
Здрасти, у меня есть функция вычесления суммы цифр числа int sum_digit(int x) { int sum=0; while (x!=0){ ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.07.2011, 14:40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru