Я использовал потоки ранее в своих приложениях и хорошо знаю его концепции, но недавно в моей лекции операционной системы я наткнулся на fork(). Что-то похоже на резьбу.
Я искал Google разницу между ними, и я узнал, что:
- Вилка - не что иное, как новый процесс, который выглядит точно так же, как старый или родительский процесс, но все же это другой процесс с другим идентификатором процесса и собственной памятью.
- Нитки - это легкий процесс, который имеет меньше накладных расходов
Но в моем сознании все еще есть некоторые вопросы.
- Когда вы предпочитаете fork() для потоковой передачи и наоборот?
- Если я хочу вызвать внешнее приложение в качестве дочернего элемента, то следует ли использовать fork() или потоки для этого?
- Выполняя поиск в Google, я обнаружил, что люди говорят, что это плохо, чтобы вызвать fork() внутри потока. почему люди хотят вызвать fork() внутри потока, когда они делают подобные вещи?
- Правда ли, что fork() не может использовать преимущества многопроцессорной системы, поскольку родительский и дочерний процессы не запускаются одновременно?