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

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

Войти
Регистрация
Восстановить пароль
 
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
#1

printf и мультипоточность - C++

20.11.2013, 19:40. Просмотров 302. Ответов 1
Метки нет (Все метки)

Как printf работает при нескольких потоках?

То, что я знаю: printf пишет в буфер и при первой возможности выводит забуференное в консоль. Можно самостоятельной (принудительно) вывести то, что было забуферено при помощи fflush().
Вот чего я не могу понять, каждый поток имет свой буфер для stdout или они разделяют общий? Если разделяют, то неужели у него есть синхронизация примитивами или они действуют без неё каким-то магическим образом и что будет с fflush, вызванным сразу в нескольких потоках?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2013, 19:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос printf и мультипоточность (C++):

Мультипоточность - C++
Всем привет! Подскажите, пожалуйста! какой функцией лучше всего организовать много потоков в windows forms? И чтобы приоритеты...

Чем ::printf предпочтительнее printf? - C++
Смотрю на код одного толкового программиста и, как новичек в С++, удивляюсь: какой смысл писать в таком стиле? Это же вроде одно и то же....

Ссылки на объект и мультипоточность - C++
Такая проблема: есть два потока и глобально объявленная ссылка на объект, когда я инициализирую её в одном потоке, во втором она остаётся...

округление printf("%.4f", (float) ans ); и printf("%.4lf", ans ); - C++
printf("%.4f", (float) ans ); printf("%.4lf", ans ); вроде по моему пониманию мы должны на выходе получать одно и то же (анс в начале...

printf(); - C++
printf("И : %s ",argv); в цикле вывожу параметры которые задал в консоле, но вместо строки выводит лишь один символ. К примеру :...

printF - C++
обьясните что делает этот printf("\n%s%s%s", First, " NOT Equal " + (!strcmp(First, Second) << 2), Second); в книге под задаей...

1
alexcoder
1546 / 691 / 90
Регистрация: 03.06.2009
Сообщений: 3,663
Завершенные тесты: 1
21.11.2013, 10:51 #2
Чтобы не задавать такие вопросы придумали синхронизацию потоков, с помощью мьютексов, событий, семафоров, критических секций. stdout в данном случае выступает разделяемым ресурсом. Если из разных потоков одновременно вызывать printf, то информация перемешивается и на экран выводится каша - это проверено.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2013, 10:51
Привет! Вот еще темы с ответами:

Printf - C++
Добрый день! У меня возник вопрос: st = 100.0*mas/m ; printf("%.2f\n",st); нужно чтобы после "st" выводил знак процента. ...

printf/scanf - C++
Возник вопрос. int main(void) { printf("Hello world"); } Что происходит здесь? Подключение в дебаге хедера <stdio.h> или...

printf и cout - C++
У меня возник вопрос, что луче еспользовать в C++, printf/scanf или cout/cin ? Что работает быстрее? Есть такой фрагмент кода ...

Printf не работает - C++
Здравствуйте. В такой вот, пародии на программку последний printf ничего не выводит. Только начал изучать C++. Подкажите в чём может быть...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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