我可能不在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. 此线程安全吗?