3일동안 안보기
공지

자유게시판

조회 수 189 추천 수 0 댓글 4
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 인쇄
  • profile
    오토소장 2024.09.05 09:54

    클래스로 코드를 작성후 객체를 8개 생성해서 각각 쓰레드로 돌리면 안되려나요.

     

     

     

    파이썬에서 병렬 처리를 클래스 형태로 작성하는 방법은 클래스 내에서 작업을 정의하고, 이를 병렬로 실행하는 방법입니다. 여기서는 `concurrent.futures` 모듈을 활용하여 `ThreadPoolExecutor`를 이용한 방법을 설명하겠습니다. 

    아래는 클래스를 이용해 8개의 작업을 병렬로 처리하는 예시입니다.

    ```python
    import concurrent.futures
    import time

    # 작업을 처리할 클래스 정의
    class Worker:
        def __init__(self, task_id):
            self.task_id = task_id

        # 작업 메서드
        def run(self):
            print(f"작업 {self.task_id} 시작")
            time.sleep(2)  # 작업 처리 대기 시간
            print(f"작업 {self.task_id} 완료")
            return f"작업 {self.task_id} 결과"

    # 병렬 처리를 수행하는 클래스
    class TaskManager:
        def __init__(self, num_workers):
            self.num_workers = num_workers

        # 병렬 처리 실행
        def execute_tasks(self):
            workers = [Worker(i) for i in range(self.num_workers)]  # Worker 인스턴스 생성
            with concurrent.futures.ThreadPoolExecutor(max_workers=self.num_workers) as executor:
                futures = [executor.submit(worker.run) for worker in workers]  # 병렬로 작업 실행
                for future in concurrent.futures.as_completed(futures):
                    print(future.result())  # 완료된 작업의 결과 출력

    # 메인 실행 부분
    if __name__ == "__main__":
        manager = TaskManager(8)  # 8개의 작업을 처리할 TaskManager 생성
        manager.execute_tasks()  # 작업 실행
    ```

    ### 코드 설명:
    1. **`Worker` 클래스**: 각각의 작업을 담당하는 클래스입니다. 각 인스턴스는 작업 ID를 가지고 있으며, `run` 메서드를 통해 실제 작업을 수행합니다.
    2. **`TaskManager` 클래스**: 여러 `Worker` 인스턴스를 병렬로 실행하는 역할을 합니다. `execute_tasks` 메서드는 `ThreadPoolExecutor`를 이용하여 병렬 작업을 처리합니다.
    3. **병렬 처리**: `ThreadPoolExecutor`는 최대 8개의 작업을 동시에 실행합니다. `executor.submit` 메서드는 각각의 작업을 스레드풀에 넣어 병렬로 실행합니다.

    이 코드를 실행하면 8개의 작업이 병렬로 실행되고, 작업이 완료되면 그 결과가 출력됩니다.

  • profile
    다오 2024.09.05 09:55 글쓴이

    오토소장 님에게 달린 댓글

    답변 감사합니다. 한번 시도 해보겠습니다 .
  • profile
    오토소장 2024.09.05 09:56

    다오 님에게 달린 댓글

    위 코드는 chatgpt에게 얻은 예시 코드입니다. 전체적인 구조를 분석해보시면 도움 되실듯합니다.
  • profile
    다오 2024.09.05 18:40 글쓴이

    오토소장 님에게 달린 댓글

    아 모르겠네요 아무리 해봐도 gpt한테 물어도 보고 하는데도 머리가 안굴러가네요 ㅎㅎ; 포기~

  1. 라x나로크 오토 구합니다

  2. 로ㄷㄴㅇ에서 지존오토사용하시는분 있나요?

  3. ㅈㅈㅇㅌ 익골 분석기시험 오류

  4. 지존익골 공부

  5. 소프트웨어방식이랑 하드웨어방식 차이 궁금합니다!

  6. 고수님들~ 뮤모x크 오토 구합니다~~

  7. 파이썬으로 컨트롤 가능한 HID USB 아시는거 있으신분

  8. 파이썬 threading 질문이요

  9. 붉은ㅂ석 지존ㅇㅌ 매크로ㅈㅈ 작업해주실분 이동ㅅㄴ 붉은기운 유니크습득 보물상자 여러가지입니다 사례하겠습니다

  10. ㅈㅈㅇㅌ 조언글

  11. ㅈㅈㅇㅌ 지식 판매하실분..

  12. ㅈㅈㅇㅌ ㅇㅌㅎㅋ 중 바ㄹ의나라 ㅁㅋ로 이용시 안전한거 추천 부탁드립니다

  13. 지존오토 익골 비번좀 부탁드려요

  14. 지존오토얼티밋 기본셋팅. 조언부탁드립니다..

  15. 지존오토 프로페셔널 사용하려고합니다.

  16. 지존오토 프로페셔널 사용하려고합니다.

  17. ㄱ사 게임하시는분들 지존오토 사용 주의~

  18. 1년만에 벗꽃 구경하며 운동했네요

  19. 붉보 지존ㅇㅌ 매크로ㅈㅈ 작업해주실분 이동ㅅㄴ 붉은기운 유니크습득 보물상자 여러가지입니다 사례하겠습니다

  20. 심심해본 만들어본 너구리 매크로

Board Pagination Prev 1 2 Next
/ 2