<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def acquire_multi(self, n=1):
        '''
        Returns a list of up to `n` browsers.

        Raises:
            NoBrowsersAvailable if none available
        '''
        browsers = []
        with self._lock:
            if len(self._in_use) >= self.size:
                raise NoBrowsersAvailable
            while len(self._in_use) < self.size and len(browsers) < n:
                browser = self._fresh_browser()
                browsers.append(browser)
                self._in_use.add(browser)
        return browsers