A forward error correction, FEC, decoding system, comprising at least two decoders, wherein a decoding controller is disposed between two adjacent decoders, and the two adjacent decoders comprise a first decoder and a second decoder; the first decoder receives a first indication and a first code block, wherein the first indication is used to indicate a non-turn-off state, wherein the non-turn-off state indicates that the first decoder needs to decode the first code block; when the first code block is successfully decoded, the first decoder generates a second indication used to indicate a turn-off state; the first decoder outputs a second code block and the second indication, the second indication being output when the first code block is successfully decoded; the decoding controller receives the first indication and the second indication; the decoding controller determines a first turn-off probability p based on the second indication and a quantity of second indications generated when the first decoder decodes code blocks preceding the first code block; the decoding controller determines a second turn-off probability p* based on the first turn-off probability p and a turn-off probability interval δp, wherein the turn-off probability interval δp is obtained in advance by using a turn-off probability at a stable working point and a turn-off probability at an extreme working point, wherein at the stable working point, power headroom for potential channel fluctuation is reserved from transmit power in a communications system in which the FEC decoding system is located, and at the extreme working point, no power headroom for potential channel fluctuation is reserved from the transmit power in the communications system in which the FEC decoding system is located; the decoding controller generates, based on the second turn-off probability p*, a third indication used to indicate the turn-off state or the non-turn-off state, wherein the turn-off state indicates that the second decoder does not need to perform a decoding operation on the second code block; and the second decoder receives the third indication and the second code block, and processes the second code block based on the third indication. the first decoder receives a first indication and a first code block, wherein the first indication is used to indicate a non-turn-off state, wherein the non-turn-off state indicates that the first decoder needs to decode the first code block; when the first code block is successfully decoded, the first decoder generates a second indication used to indicate a turn-off state; the first decoder outputs a second code block and the second indication, the second indication being output when the first code block is successfully decoded; the decoding controller receives the first indication and the second indication; the decoding controller determines a first turn-off probability p based on the second indication and a quantity of second indications generated when the first decoder decodes code blocks preceding the first code block; the decoding controller determines a second turn-off probability p* based on the first turn-off probability p and a turn-off probability interval δp, wherein the turn-off probability interval δp is obtained in advance by using a turn-off probability at a stable working point and a turn-off probability at an extreme working point, wherein at the stable working point, power headroom for potential channel fluctuation is reserved from transmit power in a communications system in which the FEC decoding system is located, and at the extreme working point, no power headroom for potential channel fluctuation is reserved from the transmit power in the communications system in which the FEC decoding system is located; the decoding controller generates, based on the second turn-off probability p*, a third indication used to indicate the turn-off state or the non-turn-off state, wherein the turn-off state indicates that the second decoder does not need to perform a decoding operation on the second code block; and the second decoder receives the third indication and the second code block, and processes the second code block based on the third indication.