So it turns out I may have been wrong about all the world's bitcoin miners who use the standard software. According to the wiki, everyone's working block is unique because it starts with a transaction to his own address. I don't yet understand that part. However, there's also a timestamp in the block header which can be updated each second, which gives another whole set of hashes for the block.
Still, I don't see the sense in having all 4 threads run the same calculations if indeed that's what is happening. I'll be adding some debugging code soon to let me know.
Meanwhile I ran an exhaustive search for solutions to the genesis block, just to see how many there were: exactly 2. Besides the "winning" nonce there is 0xbe96aceb which produces a hash of 00000000ea532922b34911e3f2f99bcc140dde6b9ebde8a58b0d9bff96a44719. Not nearly as good as that of 0x7c2bac1d: 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f.
last updated 2013-05-22 18:58:36. served from tektonic.jcomeau.com