1. A method for managing access to shared resources in a computer system comprising a processor, said processor running at least one primary program instance of an application program and at least one secondary program instance of the same application program, said processor comprising at least one primary processing unit and at least one secondary processing unit, the method comprising: requesting, by the at least one primary processing unit, access to a set of primary shared resources in a first order for executing a primary instruction instance of the primary program instance within a primary process instance; reserving, by the at least one primary processing unit, the set of primary shared resources in the first order by granting the primary process instance an exclusive right to access members of the set of primary shared resources unless the primary process instance has already reserved the requested primary shared resource; recording, by the at least one primary processing unit, a sequence of corresponding reservation events for the reservation of the members of the set of primary shared resources in the first order; and requesting, by the at least one secondary processing unit, access to a corresponding set of secondary shared resources in a second order for executing a corresponding secondary instruction instance of the secondary program instance within a corresponding secondary process instance, the requesting comprising: reading the recorded sequence of reservation events in the first order, and controlling the reservation of the corresponding set of secondary shared resources in the first order by granting the secondary process instance an exclusive right to access the members of the set of secondary shared resources unless the secondary process instance has already reserved the requested secondary shared resource.