These synchronization classes have little to do with the runtime and they can be implemented mostly in managed code as done in corert.