title: Recommended way to initialize srand?
body: <p>I need a 'good' way to initialize the pseudo-random number generator in C++. I've found <a href="http://www.cplusplus.com/reference/clibrary/cstdlib/srand.html" rel="noreferrer">an article</a> that states:</p>
  
  <blockquote>
    <p>In order to generate random-like
    numbers, srand is usually initialized
    to some distinctive value, like those
    related with the execution time. For
    example, the value returned by the
    function time (declared in header
    ctime) is different each second, which
    is distinctive enough for most
    randoming needs.</p>
  </blockquote>
  
  <p>Unixtime isn't distinctive enough for my application. What's a better way to initialize this? Bonus points if it's portable, but the code will primarily be running on Linux hosts.</p>
  
  <p>I was thinking of doing some pid/unixtime math to get an int, or possibly reading data from <code>/dev/urandom</code>.</p>
  
  <p>Thanks!</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>Yes, I am actually starting my application multiple times a second and I've run into collisions.</p>