У меня есть многопоточное приложение C ++.
Теперь я знаю, что для глобальных общих переменных вы должны использовать volatile в некоторых случаях при проверке состояния переменной, иначе компилятор может предположить, что значение переменной никогда не изменится (в этом потоке).
Что если, однако, вместо проверки состояния переменной я вызываю метод, который возвращает значение переменной? Например:
static int num = 0;
...
void foo()
{
while(getNum() == 0)
{
// do something (or nothing)
}
}
Должен ли я сделать num летучей переменной? или компилятор признает, что, поскольку я использую метод для доступа к этой переменной num, он не будет кэшировать результат?
У кого-нибудь есть идеи?
Заранее спасибо,
~ Julian
edit : Например, я читаю таблицу HISTORY сервера teamcity, в поле build_start_time_server у меня есть это значение на одном ...
, пожалуйста, помогите мне с этим, я хочу преобразовать значение из Bigint в datetime. Например, я читаю ИСТОРИЯ таблицы teamcity server , в поле build_start_time_server у меня есть это значение в одной записи 1283174502729.
Как я могу преобразовать в datetime значение ???
Спасибо