私は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. スレッドセーフなキュー
- 3. スレッドセーフなC++スタック
- 4. C#:スレッドセーフなイベント
- 5. スレッドセーフなログ
- 6. スレッドセーフな処理
- 7. スレッドセーフなインスタンスフィールド
- 8. スレッドセーフなジェネリックarraylist?
- 9. スレッドセーフな乱数
- 10. スレッドセーフなpthreadミューテックスロックラッパー
- 11. C++スレッドセーフなブラケットオペレータプロキシ
- 12. スレッドセーフなリファクタリング
- 13. スレッドセーフなnsdictionary
- 14. スレッドセーフなOutputStreamWriter
- 15. スレッドセーフな設定
- 16. スレッドセーフな実装
- 17. スレッドセーフなメモ化
- 18. スレッドセーフなソートコレクション
- 19. スレッドセーフなインクリメントC#
- 20. スレッドセーフなForm.Show
- 21. JPAのスレッドセーフなエンティティ
- 22. スレッドセーフな同期ブロック
- 23. スレッドセーフなlibapache2-mod-php5
- 24. スレッドセーフなクラスとアクセッサ
- 25. mock.call_countのスレッドセーフなバージョン
- 26. スレッドセーフなバッファ配列
- 27. AsyncTasksとスレッドセーフなデータオブジェクト?
- 28. スレッドセーフなコルーチンとasio
- 29. スレッドセーフなJavaのシングルトン
- 30. スレッドセーフな方法は、