Я читаю о многопроцессорности с селеном, чтобы увидеть его преимущества перед многопоточностью с селеном.
Я понимаю, что у компьютеров есть ядра, например у меня их 4, и у компьютеров есть логические ядра, например у меня тоже 4.
Я пытаюсь понять, что когда я использую многопроцессорность, все это делается на одном ядре, и если да, то на каком? как в основном ядре, используемом моим компьютером или другими ядрами.
Можно ли также выбрать, сколько процессов вы хотите на ядре, и должно ли быть ограничение.
Мои вопросы, если непонятно:
Работает ли многопроцессорность на одном ядре
Можете ли вы выбрать, сколько процессов вы хотите на ядре
Должно ли быть ограничение на количество процессов в ядре
- Если должно быть ограничение, как лучше с этим справиться?
Вот мой код:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
import time
import multiprocessing
class go():
def __init__(self):
self.run()
def run(self):
options = webdriver.ChromeOptions()
options.add_argument('--headless', )
self.browser = webdriver.Chrome('chromedriver.exe',options=options)
self.browser.get('https://www.wikipedia.org/')
WebDriverWait(self.browser, 10).until(
EC.presence_of_element_located((By.ID, "searchInput"))).send_keys('Python',Keys.ENTER)
time.sleep(3)
print('Moved To Next Section ')
WebDriverWait(self.browser, 10).until(
EC.presence_of_element_located((By.PARTIAL_LINK_TEXT, "Computing"))).click()
time.sleep(3)
print('Moved To Next Section ')
WebDriverWait(self.browser, 10).until(
EC.presence_of_element_located((By.PARTIAL_LINK_TEXT, "People"))).click()
time.sleep(3)
print('Moved To Next Section ')
WebDriverWait(self.browser, 10).until(
EC.presence_of_element_located((By.PARTIAL_LINK_TEXT, "Roller coasters"))).click()
time.sleep(3)
print('Moved To Next Section ')
WebDriverWait(self.browser, 10).until(
EC.presence_of_element_located((By.PARTIAL_LINK_TEXT, "Vehicles"))).click()
time.sleep(3)
print('Moved To Next Section ')
WebDriverWait(self.browser, 10).until(
EC.presence_of_element_located((By.PARTIAL_LINK_TEXT, "Weaponry"))).click()
time.sleep(100)
if __name__ == "__main__":
for count in range(10):
multiprocessing.Process(target=go).start()
1 ответ
Работает ли многопроцессорность на одном ядре
Нет
Можете ли вы выбрать, сколько процессов вы хотите на ядре
Нет
Должно ли быть ограничение на количество процессов в ядре? Если должно быть ограничение, как лучше с этим справиться?
Это не то, что вы делаете из кода Python. За это отвечает O / S. Для пользователя практически нет ограничений на количество потоков или процессов.
И Мени Иссаков прав, вам стоит прочитать о многопроцессорности в python.
Похожие вопросы
Новые вопросы
python
Python — это мультипарадигмальный многоцелевой язык программирования с динамической типизацией. Он предназначен для быстрого изучения, понимания и использования, а также обеспечивает чистый и унифицированный синтаксис. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Если у вас есть вопросы о версии Python, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas, NumPy) укажите это в тегах.