안녕하세요
자꾸 질문만 하게 됩니다.
코드를 보다 문득 create_workqueu 와 create_singlethread_workqueue의 차이가 잘 이해가가지 않아서 문의 드립니다.
kernel/workqeueue.c 를 보니
create_singlethread_worqueue는 singthread_cpu (현재 동작하는 cpu로 생각됨)에 thread는 하나 생성하고
create_singlethread_worqueus는 모든 cpu에 workqueue thread를 생성 하는듯 합니다.
그렇다면 create_workqueue는 모든 cpu에 workqueue thread를 생성하여 work의 func함수를 호출 하게 되는건가요?
create_singthread_workqueue는 한개의 cpu에서만 work의 func이 호출 되구요.
이게 맞다면 여러개의 cpu에서 동시에 같은 목적의 work의 func함수가 실행되어 위험하지 않는지 궁금합니다.
만약 create_workqueu와 create_singlethread_workqueue를 사용 해야 한다면 어떤 기준으로 구분해서 사용 해야 할까요?
흠..질문만 잔뜻 올린듯 합니다.
감사합니다~
댓글 0
.