Streaming dataset + interleave + DataLoader hangs with multiple workers
{'login': 'jpilaul', 'id': 614861, 'node_id': 'MDQ6VXNlcjYxNDg2MQ==', 'avatar_url': 'https://avatars.githubusercontent.com/u/614861?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/jpilaul', 'html_url': 'https://github.com/jpilaul', 'followers_url': 'https://api.github.com/users/jpilaul/followers', 'following_url': 'https://api.github.com/users/jpilaul/following{/other_user}', 'gists_url': 'https://api.github.com/users/jpilaul/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/jpilaul/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/jpilaul/subscriptions', 'organizations_url': 'https://api.github.com/users/jpilaul/orgs', 'repos_url': 'https://api.github.com/users/jpilaul/repos', 'events_url': 'https://api.github.com/users/jpilaul/events{/privacy}', 'received_events_url': 'https://api.github.com/users/jpilaul/received_events', 'type': 'User', 'site_admin': False}
[{'id': 1935892857, 'node_id': 'MDU6TGFiZWwxOTM1ODkyODU3', 'url': 'https://api.github.com/repos/huggingface/datasets/labels/bug', 'name': 'bug', 'color': 'd73a4a', 'default': True, 'description': "Something isn't working"}]
[]
['Same thing occurs when streaming files loaded from disk.'
 "Hi ! Thanks for reporting, could this be related to https://github.com/huggingface/datasets/issues/3950 ?\r\n\r\nCurrently streaming datasets only works in single process, but we're working on having in work in distributed setups as well :)"
 'Hi, thanks for your reply. It seems related :)']
## Describe the bug
Interleaving multiple iterable datasets that use `load_dataset` on streaming mode hangs when passed to `torch.utils.data.DataLoader` with multiple workers.

## Steps to reproduce the bug
```python
from datasets import interleave_datasets, load_dataset
from torch.utils.data import DataLoader

en_dataset = load_dataset('oscar', "unshuffled_deduplicated_en", split='train', streaming=True)
fr_dataset = load_dataset('oscar', "unshuffled_deduplicated_fr", split='train', streaming=True)
it_dataset = load_dataset('oscar', "unshuffled_deduplicated_it", split='train', streaming=True)
de_dataset = load_dataset('oscar', "unshuffled_deduplicated_de", split='train', streaming=True)
multilingual_dataset = interleave_datasets([en_dataset, fr_dataset, de_dataset, it_dataset])
multilingual_dataset = multilingual_dataset.with_format('torch')

next(iter(multilingual_dataset))  # works fairly fast

dataloader = DataLoader(multilingual_dataset, batch_size=8, num_workers=4)
for batch in dataloader:
    print(len(batch))  # prints nothing after 30 min of waiting

dataloader = DataLoader(multilingual_dataset, batch_size=8, num_workers=0)
for batch in dataloader:
    print(len(batch))  # prints right away

```

## Expected results
It should be able to iterate the dataset with multiple workers.

## Actual results
Prints with results with `next(iter(multilingual_dataset)) ` and `num_workers=0`  but it prints nothing with `num_workers=4` or any number above 0.

## Environment info
<!-- You can run the command `datasets-cli env` and copy-and-paste its output below. -->
- `datasets` version: 2.0.1.dev0
- `pytorch` version: 1.10.0+cu113
- Python version: 3.7
- PyArrow version: 6.0.1

{'url': 'https://api.github.com/repos/huggingface/datasets/issues/3993/reactions', 'total_count': 0, '+1': 0, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}