A semiconductor apparatus comprising: one or more substrates; and logic coupled to the one or more substrates, wherein the logic is implemented in one or more of configurable logic or fixed-functionality logic hardware, the logic coupled to the one or more substrates to: perform during a second boot process the following steps: determine an amount of time to execute at least one task associated with at least one software program during the second boot process; determine that the at least one task is to be executed during a first boot process after the second boot process in a multithreaded process based either on the amount of time or based on a determination that the at least one task will involve an update in the first boot process; store an identification to a data structure that the at least one task is to occur in the multithreaded process; perform during the first boot process the following steps: access the data structure to identify whether a task is set to occur in the multithreaded process; in response to the task being set to occur in the multithreaded process, execute the task in the multithreaded process during the first boot process; and in response to the task not being set to occur in the multithreaded process, execute the task in a single-threaded process during the first boot process. one or more substrates; and logic coupled to the one or more substrates, wherein the logic is implemented in one or more of configurable logic or fixed-functionality logic hardware, the logic coupled to the one or more substrates to: perform during a second boot process the following steps: determine an amount of time to execute at least one task associated with at least one software program during the second boot process; determine that the at least one task is to be executed during a first boot process after the second boot process in a multithreaded process based either on the amount of time or based on a determination that the at least one task will involve an update in the first boot process; store an identification to a data structure that the at least one task is to occur in the multithreaded process; perform during the first boot process the following steps: access the data structure to identify whether a task is set to occur in the multithreaded process; in response to the task being set to occur in the multithreaded process, execute the task in the multithreaded process during the first boot process; and in response to the task not being set to occur in the multithreaded process, execute the task in a single-threaded process during the first boot process. perform during a second boot process the following steps: determine an amount of time to execute at least one task associated with at least one software program during the second boot process; determine that the at least one task is to be executed during a first boot process after the second boot process in a multithreaded process based either on the amount of time or based on a determination that the at least one task will involve an update in the first boot process; store an identification to a data structure that the at least one task is to occur in the multithreaded process; determine an amount of time to execute at least one task associated with at least one software program during the second boot process; determine that the at least one task is to be executed during a first boot process after the second boot process in a multithreaded process based either on the amount of time or based on a determination that the at least one task will involve an update in the first boot process; store an identification to a data structure that the at least one task is to occur in the multithreaded process; perform during the first boot process the following steps: access the data structure to identify whether a task is set to occur in the multithreaded process; in response to the task being set to occur in the multithreaded process, execute the task in the multithreaded process during the first boot process; and in response to the task not being set to occur in the multithreaded process, execute the task in a single-threaded process during the first boot process. access the data structure to identify whether a task is set to occur in the multithreaded process; in response to the task being set to occur in the multithreaded process, execute the task in the multithreaded process during the first boot process; and in response to the task not being set to occur in the multithreaded process, execute the task in a single-threaded process during the first boot process.