1. A processor, comprising: a packet distribution engine configured to receive packets and to label the packets with corresponding sequence numbers based on an order of the receipt of the packets; a plurality of processor cores configured to receive the packets from the packet distribution engine and to process the packets in multiple threads; a networking output; and a packet-ordering device configured to receive the processed packets from the plurality of processor cores, determine the order of the packets based on their corresponding sequence numbers, queue the received processed packets in the determined order, and release the queued processed packets to the networking output in the determined order, wherein the releasing of the packets by the packet-ordering device skips non-arriving packets in the determined order.