我可能不在documentation of lparallel.queue的正確位置,但我們可以假設這些隊列是線程安全的,並且隊列自己處理任何鎖定/解鎖操作,以便隊列用戶不必明確執行任何鎖定/解鎖?如果這是記錄在某處,我會很感激鏈接。Lparallel.queue線程安全嗎?
2
A
回答
3
我不知道它的規定,但看代碼表明隊列函數確實是線程安全的。
隊列功能的全部擴展到呼叫DEFINE-LOCKING-FN
這又膨脹至DEFINE-LOCKING-FN/BASE
這導致與包裹在WITH-LOCK-HELD
該內容的功能的一個DEFUN
。
3
看着源代碼,隊列似乎被鎖定。
(define-queue-fn push-queue (object queue)
push-cons-queue
push-vector-queue)
...
(define-locking-fn push-cons-queue (object queue) (t cons-queue) (values) lock
(with-cons-queue-slots (impl cvar) queue
(push-raw-queue object impl)
(when cvar
(condition-notify cvar)))
(values))
的解鎖功能都有一個獨立的名字:
(define-queue-fn push-queue/no-lock (object queue)
push-cons-queue/no-lock
push-vector-queue/no-lock)
相關問題
- 1. java線程安全:線程安全嗎?
- 2. Spring mongoTemplate線程安全嗎?
- 3. BoxClient線程安全嗎?
- 4. EventHubClient.SendBatchAsync - 線程安全嗎?
- 5. .NET:JsonMediaTypeFormatter線程安全嗎?
- 6. multiset equal_range線程安全嗎?
- 7. pip線程安全嗎?
- 8. com.google.cloud.datastore.Datastore線程安全嗎?
- 9. WNetGetResourceInformation線程安全嗎?
- 10. qsort線程安全嗎?
- 11. work_queue線程安全嗎?
- 12. .NET DateTime線程安全嗎
- 13. DynamoDBContext線程安全嗎?
- 14. 在Python線程安全嗎?
- 15. java.lang.reflect.Method線程安全嗎?
- 16. HttpContext.Current.Cache線程安全嗎?
- 17. UIFont線程安全嗎?
- 18. C#+ =線程安全嗎?
- 19. Go bytes.Buffer線程安全嗎?
- 20. SynchronizationContext.Post()線程安全嗎?
- 21. Guava Table線程安全嗎?
- 22. EPiServer線程安全嗎?
- 23. 是java.sql.Connection線程安全嗎?
- 24. 是CreateChildContainer()線程安全嗎?
- 25. 是Thread.getStackTrace()線程安全嗎?
- 26. Windows'rand_s線程安全嗎?
- 27. 是DocumentBuilder.parse()線程安全嗎?
- 28. 是javax.sql.DataSource線程安全嗎?
- 29. putStrLn線程安全嗎?
- 30. 此線程安全嗎?