This question already has an answer here:
I don't really understand which transactions a miner includes in a block. Since the transactions are hashed, any newly included transaction in a block should cause a restart of finding the correct nounce, shouldn't it? So a miner has to collect the whole set of transactions he wants to include in the block he is calculating for before beginning to find the nounce?
I presume it works the following way: A Miner collects all transactions reaching him while the network still calculates the nounce for the block before. If he receices a newly found block from another miner, the includes all transactions that reached him up to this time and begins trying to finde the node. Is this correct?