The good conductivity of metals, as compared to non-metals is due to the fact that:
Concentration of free electrons is higher in metals
The larger concentration of free electrons in metals as compared to non-metals makes them good conductors of heat. These free electrons, when heated begin to vibrate vigorously and collide with one another, thus transferring the heat energy.