Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

printf

2.0K
05 мая 2003 года
FreeTimeKiller
11 / / 10.12.2002
Ситуация такая: нужно записывать в лог инфу из нескольких потоков, безопасно ли использовать для этих целей обычный printf(), если редиректнуть stdout на какой-либо файл? Если короче, то является ли printf() thread-safe функцией?

Заранее спасибо.
1.9K
06 мая 2003 года
sercher
60 / / 21.03.2003
Иногда помогает заглянуть в хелп. Это зависит от библиотеки.


LIBC.LIB Single thread static library, retail version

LIBCMT.LIB Multithread static library, retail version

MSVCRT.LIB Import library for MSVCRT.DLL, retail version
1.9K
06 мая 2003 года
sercher
60 / / 21.03.2003
This Rogue Wave implementation of iostreams and locales is Multithread-Safe: Level 2. All public and protected functions are reentrant, and there is protection against multiple threads trying to modify static and global data. The preferred method of protection is mutex locks; the library also locks an object before writing to it. The developer is not required to explicitly lock or unlock a class object, whether static, global, or local, in order to perform a single operation on the object.

This means that iostream objects, with the exception of stream buffers, can be shared between threads of execution using a simple mutex object without explicit locking. The locking mechanism is enforced at the stream level. Therefore, all operations carried out on the stream are multithread safe, including the following:

Thread 1: Thread 2:
cout << "Thread 1" << endl; cout << " Thread 2" << endl;
2.0K
06 мая 2003 года
FreeTimeKiller
11 / / 10.12.2002
Так с printf() такая хрень прокатит? Я так понял, что это только для iostream-объектов?
1.9K
06 мая 2003 года
sercher
60 / / 21.03.2003
Посмотри Example на _beginthread() там в потоках printf() используется без всяких синхронизаций.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог