私はdocumentation of lparallel.queueの正しい場所を探していないかもしれませんが、それらのキューはスレッドセーフであり、キューのロック/アンロック自体が処理されるため、キューのユーザーはロック/アンロックを明示的に実行するには?これがどこかに書かれていれば、私はそのリンクに感謝します。スレッドセーフなLparallel.queue?
2
A
答えて
3
私にはわからない、それが指定されていますが、コードを見てすると、キューすることを示しています関数は実際にスレッドセーフです。
キュー機能は、すべてのターンでWITH-LOCK-HELD
に包まれたコンテンツと機能のDEFUN
になりDEFINE-LOCKING-FN/BASE
に展開DEFINE-LOCKING-FN
への呼び出しに展開します。
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. PHPスレッドセーフでWindows用でないスレッドセーフ
- 2. C#:スレッドセーフなイベント
- 3. スレッドセーフなリファクタリング
- 4. スレッドセーフなジェネリックarraylist?
- 5. C++スレッドセーフなブラケットオペレータプロキシ
- 6. スレッドセーフなnsdictionary
- 7. スレッドセーフなOutputStreamWriter
- 8. スレッドセーフな設定
- 9. スレッドセーフなC++スタック
- 10. スレッドセーフなキュー
- 11. スレッドセーフなForm.Show
- 12. スレッドセーフなソートコレクション
- 13. スレッドセーフなインクリメントC#
- 14. スレッドセーフなメモ化
- 15. スレッドセーフなログ
- 16. スレッドセーフなpthreadミューテックスロックラッパー
- 17. スレッドセーフな乱数
- 18. AsyncTasksとスレッドセーフなデータオブジェクト?
- 19. スレッドセーフな同期ブロック
- 20. スレッドセーフなコールバック関数
- 21. - スレッドセーフなコレクション修正
- 22. スレッドセーフなJavaのシングルトン
- 23. スレッドセーフなコルーチンとasio
- 24. スレッドセーフな方法は、
- 25. スレッドセーフなクラスとアクセッサ
- 26. JPAのスレッドセーフなエンティティ
- 27. スレッドセーフなシングルトンオブジェクト(objective-c?)?
- 28. スレッドセーフ
- 29. チェーンされたスレッドセーフなコレクションはスレッドセーフですか?
- 30. SwingWorkerのスレッドセーフ - スレッドセーフな方法でJTableを更新