Hm, I was thinking about something like this (didn't look at `register_shutdown_function` and the possibility to specify arguments that should be passed to the provided callback):

```php
class Test
{
    private $_items = array();

    public function __construct()
    {
        // original idea
        $mutex = $this;
        register_shutdown_function(function() use ($mutex) {
            // use $mutex->_items / $mutex->getItems()
        });

        // if items is private and you don't want to expose it
        $items =& $this->_items;
        register_shutdown_function(function() use (&$items) {
            // use $items
        });

        // this one doesn't work?
        // didn't test it, but the following comment suggests a similar solution
        // (without closures though)
        // www.php.net/manual/de/function.register-shutdown-function.php#100859
        register_shutdown_function(function(&$items){
            // use $items
        }, &$this->_items);
    }
}
```