XPC サービス内で複数の同時論理操作を実行したいと考えています。ただし、XPC サービスはシングルトンであり、実行されているか、実行されていないかのいずれかです。NSThread
、ディスパッチ キューなどを使用してこれをシミュレートできますか?
この XPC サービスを使用するアプリケーションは、サンドボックス化された fork/exec に固有の制限を回避するために XPC サービスを使用するサンドボックス化されたユーザー アプリです。
XPC サービス内で複数の同時論理操作を実行したいと考えています。ただし、XPC サービスはシングルトンであり、実行されているか、実行されていないかのいずれかです。NSThread
、ディスパッチ キューなどを使用してこれをシミュレートできますか?
この XPC サービスを使用するアプリケーションは、サンドボックス化された fork/exec に固有の制限を回避するために XPC サービスを使用するサンドボックス化されたユーザー アプリです。
サンドボックス化された XPC について話している場合、はい、マルチスレッド化できますが、launchd はユーザーを注意深く監視し、その時の負荷に応じて大幅に調整します。
アクティビティが多すぎる場合は、本質的に「API の誤用」違反として終了する可能性があります (launchd は XPC に対して多くのことを行います)。
サンドボックス化せずにマッハ サービスを使用する予定であれば、問題はありません。
どのようなサービス/サーバー/ヘルパー/何かを見ていますか?
ユーザー空間にあるように設計されていますか?つまり、ユーザーが含まれているアプリを開いたときですか? それとも、デーモンやその他のより深いサービスの一部ですか?