Some question about block and block chain.....really confuse me! Here are my questions:


Because miners can choose which transaction will be added in block by themselves, so what if two miners broadcast two blocks almost at the same time, one is bigger(has more transactions), another is smaller. Which of the two blocks will be accepted?
When miner creating blocks, transactions in that block affect the result?
For example, if miner A is creating a block, but now there is a new transaction is broadcasted on network, will A stop current work then add new transaction as one of the input then recreate block?
If above is the case, then I think because transactions will happen at anytime, so some miner will creating block, before the block is created, there is a new transaction on network, so they abort current work, take the new transaction as one of the input, start create block again, then there is another new transaction on network, miner stop current work .......
so they will never finish...
Say if at current time there exist spilt of block chain, we call them A and B. A is "longer" then B, as the result B will be eventually forgotten, but what happened about the transactions in blocks on B? The block which is different between A will be unpacked, reconfirm the transaction then create new block, add new block on A?
The new block will be create approximately 10 min, but I saw on blockchain.info

why the time between these two blocks are just 2 min?
The cost to abort current work is essentially zero. If you haven't found a block yet, you haven't accomplished anything you care about. So you can restart to include new transactions at near zero cost. You don't have to restart if you don't want to. Miners can either try to get new transactions into blocks as soon as possible or not bother.

In the future, people will probably work harder to get new transactions into blocks as soon as possible. Right now, the 25 BTC block reward dwarfs any transaction fees. But in the future, getting as many transaction fees as possible may be worth extra effort.

If two blocks are broadcast at about the same time, there's no good way to know which will ultimately be accepted. You have to wait to see which one gets confirmations. Everyone wants to mine on the longest chain (to increase the chances they get to keep their block reward), so as soon as one gets even a slight advantage, its advantage should grow.