This is the mail archive of the mailing list for the pthreas-win32 project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Simple question.

Hi, Kyle.
As long as you use multi-threaded libraries in your project->settings, "cout" will be thread-safe in VC++.   I'm not sure how
you're calling "cout", but there may be a discrepancy in usage between iostream/Linux and iostream/Windows.   If you use
statements like:

void threadfn(void*) { for(int i=100;i--;) cout << "o" << "o" << endl; }

main() {
    for(int i=100;i--;) cout << "x" << "x" << endl;

.. then your output should be all mixed up, because each line compiles to three separate calls to "cout".   The gcc compiler
may combine these calls as an optimization, but you shouldn't code assuming that, because it's an implementation artifact.

Rather than implementing a serialization thread, it might be simpler to send your strings to a stringbuffer first, then
output that buffer in a single "cout" call.

Wayne Isaacs

----- Original Message -----
From: "Kyle Boon" <>
To: <>
Sent: Wednesday, August 21, 2002 3:02 PM
Subject: Simple question.

> I'm not sure if this is the right place for my question - so I apolgize in
> advance if it not.
> First some quick background. I am a college undergrad charged with porting a
> linux app to the win32 platform. I chose this pthreads implementation to make
> the task much easier. So far it's worked very well. My only question is how
> people deal with console output. I have multiple threads using cout to print
> things to the console, but the output is all jumbled up. If I try to link
> with a thread safe version of the standard library on windows, I get all
> sorts of linker errors. It seems like people must have had to work around
> this before, but I haven't been able to find any information about it.
> Any help would be greatly appreciated.
> Kyle Boon

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]