1. A method comprising: providing a spinlock per core in a multi-core computer system; storing each spinlock in a respective memory location configured to be accessed independently by respective cores of the multi-core computer system; receiving a request at a core in the multi-core computer system to perform an operation on a spinlock in the multi-core computer system; obtaining a multi-reader/single writer spinlock in response to the request; monitoring requests to perform operations on spinlocks in the multi-core computer system; and managing selection of a single reader/single writer spinlock and the multi-reader/single writer spinlock by analyzing a number of requests to perform operations on spinlocks, obtaining multi-reader/single writer spinlocks if the number of requests to perform operations indicates that multi-reader/single writer spinlocks are more efficient than single reader/single writer spinlocks for processing the number of requests to perform operations on spinlocks, and obtaining single reader/single writer spinlocks if the number of requests to perform operations indicates that single reader/single writer spinlocks are more efficient than multi-reader/single writer spinlocks for processing the number of requests to perform operations on spinlocks.