0

私のアプリは SQLite DB から多くの書き込み/読み取りを行っており、メイン スレッドがブロックされないように、これらすべてを別のスレッドで実行したいと考えています。しかし、これらすべての DB 操作は、次々に実行する必要があります。そうしないと、うまくいきません。

私の理解では、シリアル キューを使用し、すべてのタスクを追加する必要があります。これがそれである場合、グローバル シリアル キューを作成し、どのビューからでもタスクを追加する方法を教えてください。

あるいは、まったく理解できなかったので、正しい方向に向けてくれる人が必要なのかもしれません。ありがとう。

4

3 に答える 3

3

シリアル キューを作成するために必要なことは、次のとおりです。

dispatch_queue_t myQueue = dispatch_queue_create("myqueue", DISPATCH_QUEUE_SERIAL);

おそらくmyQueue、アプリのどこからでもアクセスできるプロパティとして持つシングルトン オブジェクトの使用を検討してください。

于 2013-10-18T21:25:31.773 に答える
1

私自身の経験から言えば、フレームワークを使用せずにデータベースへのアクセスをスレッド化しようとするのは望ましくありません。FMDatabaseQueueを調べることをお勧めします。

于 2013-10-19T03:57:31.963 に答える