맞춤 대기열에는 push() 및 pop() 함수가 있습니다. pop()은 Event.COMPLETE에서 언제든지 호출 될 수 있으므로 코드가 push() 및 pop()에서 동시에 실행될 수 있습니다. 그렇다면 코드가 동시에 두 함수에서 실행되지 않도록하는 방법이 있습니까?클래스의 두 함수를 AS3에서 동시에 액세스 할 수 있습니까?
답변
"컨텍스트 스위칭"의 컨텍스트에서 "원자 적 연산"의 개념과 뮤텍스의 아이디어가 필요합니다.
기본적으로 뮤텍스는 스레드에 의해 설정되거나 지워지는 부울입니다.
각 스레드 것이다
기능 팝업() { Get_Mutex(); do_the_pop_operation(); Free_Mutex(); }
또는
기능 푸시() { Get_Mutex(); do_the_push_operation(); Free_Mutex(); }
Get_Mutex() 함수는 뮤텍스를 수신 할 때까지 잠자기 상태가되므로 한 번에 하나의 연산 만 수행 할 수 있습니다.
아니요, Flash는 독점적으로 단일 스레드이므로 두 가지 작업이 동시에 발생할 수는 없습니다.
기본적으로 이벤트를 처리 할 때 실행이 완료되지 않은 다른 코드에 대해 걱정할 필요가 없습니다.
언제든지 발생하는 이벤트를 어떻게 처리합니까? Flash는 이벤트를 처리하기 전에 다른 코드가 실행을 마칠 때까지 기다릴까요? –
@Roger B - @shortstick 링크 참조 –
당신은 이것에 대해 senocular로 게시물을 읽어야합니다 (특별히 이벤트 및 프레임 실행 참조) Order of operations.
플래시가 일부 비동기 작업과 함께 노출 다중 스레드를 제공 할 수도 있지만 단일 스레드 프로그램이므로 잠금에 대해 걱정할 필요가 없습니다. 기본적으로 이벤트 작업은 "프레임"사이에서 실행되므로 이벤트가 실행되기 전후에 프레임에서 실행되는 코드가 완료되므로 기능이 중복 될 염려는 없습니다.
- 1. flex/as3에서 수퍼 클래스의 수퍼 클래스에 액세스 할 수 있습니까?
- 2. 두 클래스가 서로 액세스 할 수 있습니까?
- 3. 다른 클래스의 Java.util지도에 액세스 할 수 있습니까?
- 4. PHP에서 클래스의 함수를 호출 할 수 없습니다.
- 5. 두 대의 컴퓨터에서 두 개의 서로 다른 프로세스가 동일한 RAM 주소에 동시에 액세스 할 수 있습니까?
- 6. 버클리 데이터베이스를 열고 동시에 여러 프로그램에서 액세스 할 수 있습니까?
- 7. 동시에 두 개의 함수를 실행하는 방법
- 8. 파이썬에서 두 함수를 동시에 사용하려면 어떻게해야합니까?
- 9. 여러 객체 인스턴스를 동시에 사용하여 클래스의 정적 메서드에 액세스 할 수 있습니까?
- 10. 아이폰 - 두 스레드에서 동시에 sqlite3 데이터베이스에 액세스
- 11. 어쨌든 Windows에서 동시에 PC 카메라를 액세스 할 수 있습니까?
- 12. page.xaml.cs에서 외부 클래스의 멤버 변수에 액세스 할 수 있습니까?
- 13. g_time_out add에 클래스의 멤버 함수를 추가 할 수 있습니까?
- 14. AS3에서 TextField를 drawCircle에 바인딩 할 수 있습니까?
- 15. 두 서버에서 동일한 테이블에 동시에 액세스
- 16. ASP.NET 세션 ID가 두 컴퓨터에서 동시에 동일 할 수 있습니까?
- 17. Qt가 두 신호를 동시에 호출 할 수 있습니까?
- 18. 두 개의 IEnumerable 객체를 동시에 반복 처리 할 수 있습니까?
- 19. 양식을 두 페이지에 동시에 제출할 수 있습니까?
- 20. 동시에 두 개의 값을 던질 수 있습니까?
- 21. AS3에서 그의 이름을 알고있는 클래스의 인스턴스를 만들 수 있습니까?
- 22. Perl : 인덱스를 사용하여 동시에 두 가지 레벨의 해시 배열에 액세스 할 수 있습니까?
- 23. 언제 UIImageView 하위 클래스의 프레임에 안전하게 액세스 할 수 있습니까?
- 24. 내부 클래스의 외부 클래스 객체에 액세스 할 수 있습니까?
- 25. 내부 클래스의 메서드가 부모 클래스 메서드에 액세스 할 수 있습니까?
- 26. 다른 클래스의 tableview에서 셀의 값에 어떻게 액세스 할 수 있습니까?
- 27. EL을 사용하여 JSP에서 enum 클래스의 값에 액세스 할 수 있습니까?
- 28. Java의 main에서 클래스의 전용 변수에 액세스 할 수 있습니까?
- 29. ASP.Net에서 Base 클래스의 Session 변수에 어떻게 액세스 할 수 있습니까?
- 30. 다형성 클래스의 가상 포인터에 액세스 할 수 있습니까
여기에 요점은 잠금에 대한 내용이 적고 Flash에서 이벤트를 처리하는 방법에 관한 것입니다. 단일 스레드와 짝수 큐를 사용한다고 생각 하겠지만 플래시 전문가는 아닙니다. Flash는 실제로 여러 스레드의 이벤트를 실행합니까? –
플래시는 멀티 스레드가 아니지만 동시에 두 개의 다른 비트의 코드를 처리하는 것으로 보입니다. –