問題タブ [libdispatch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - Grand Central Dispatch (`libdispatch`) が Windows で利用可能になる可能性はありますか?
私はマルチスレッドを検討していますが、GCD は、 and を使用して手動でソリューションを作成するよりもはるかに優れたオプションのようです。しかし、ほとんどの新しい POSIX 互換システムに取り組んでいるか、間もなく取り組むように見えますが、Windows についてはどうですか? Windows に移植される可能性はどのくらいですか? それを妨げている障壁は何ですか?pthread.h
pthreads-win32
libdispatch
libdispatch
結局のところ、そのポーテージを実行するにはどうすればよいでしょうか?
編集:議論を始めるために、私がすでに知っているいくつかのこと:
- Windows でコンパイルできるブロック互換のコンパイラが必要ですよね?PLBlocks はそれを処理しますか?
- LLVMブロックのランタイムを使用できますか?
pthread.h
移植性のために、ユーザー空間のすべての依存関係libdispatch
を APR 呼び出しに置き換えることはできませんか? または、代わりに…を使用しpthreads-win32
てください…</li>
編集 1: Windows では利用できない にlibdispatch
(何らかの形で) 依存しているため、これは完全に完全に不可能であると聞いています... これが本当かどうか知っている人はいますか?kqueue
macos - Grand Central Dispatchはいくつのスレッドを作成する必要がありますか?
GCDは、CPUを最大限に活用するために必要な数のスレッドのみを作成することを理解しています。約30のバックグラウンドタスクを起動するために使用するコードdispatch_async
では、ActivityMonitorでスレッドの数が約30増加しているのがわかります。デュアルコアPCしかないので、私はそれを予期していなかったでしょう。
私は何かを誤解していると確信しています。誰かが何が起こっているのか教えてもらえますか?
linux - ブロックと libdispatch は Linux で利用できますか?
グランド セントラル ディスパッチを試してみたいのですが、開発する必要があるのは Ubuntu ワークステーションだけです。libdispatch や c/obj-c などへのブロック拡張は Linux で利用できますか? もしそうなら、どうすれば入手できますか?
grand-central-dispatch - dispatch_semaphore_wait は FIFO ではありませんか?
のドキュメントにdispatch_semaphore_wait
は、「シグナルを FIFO 順で待機する」と記載されています。しかし、この例ではそうではないようです-誰かが説明してもらえますか?
例:
期待される出力:
実際の出力 (一例):
編集:シリアルキューではなく、q1とq2がグローバルキューに設定されている場合の実際の出力:
(完全に機能することもありますが、このように奇妙なこともあります。)
macos - libdispatchでGLUTを使用する方法は?
GLUTとlibdispatchの両方に独自のイベント処理ループが あり、それぞれ:glutMainLoop();
とを返すことのない関数で呼び出されます。dispatch_main();
私はもう試した:
...ウィンドウは表示されますが、で指定された関数を最初に呼び出した後、イベントに応答したり、再描画したりすることはありませんglutDisplayFunc()
。
GLUTとlibdispatchをうまく連携させるにはどうすればよいですか?
macos - GLFW を使用して libdispatch ブロック内のイベントをポーリングする方法は?
libdispatchでGLUTを使用する方法への回答をフォローアップしますか? 、代わりに GLFW を使用しています —</p>
次のコードは、ウィンドウをセットアップし、タイマーをセットアップしてイベントをポーリングし、時間の経過とともにレンダリングの更新をキューに入れます。
アニメーションは期待どおりに更新されますが、ウィンドウ フレームは描画されず、ウィンドウはイベントに応答しません。
ios - dispatch_queue_t dispatch_get_local_queue dispatch_queue_create EXC BAD ACCESS を処理するには?
次のコードがあります
行 dispatch_queue_set_specific でシグナル EXC BAD ACCESS を受信した後。これをどのように処理しますか?iPhone 5.0シミュレーターではすべて正常に動作します。しかし、iPhone 4.3 シミュレーターと iOS 4.2 の iPad ではクラッシュします。BlackRaccoon プロジェクトの一部です。私の後
python - Sage/Python の fork 後の SIGILL
Sageでいくつかの計算を行っています。で遊んでいfork
ます。基本的に次のような非常に単純なテストケースがあります。
(_fork_test_func()
いくつかの行列計算については、以下を参照してください。)
そして、私は得ています:
この(不完全な)バックトレースでは:
の後に何か特別なことをする必要がありfork
ますか? Sageのデコレータを調べたところ、fork
基本的に同じように見えます。
クラッシュはfork
、Sage 自体のデコレータでも発生します。別のテスト ケース:
さらに単純なテスト ケース:
少し異なるクラッシュが発生します。
バックトレースあり:
これについても同じことが起こります:
-- ただし、以前に他の行列計算を使用したことがある場合のみ。
このテスト ケースは、新しい Sage セッションでも機能します。
Sage 5.8 の MacOSX 64bit 用のバイナリをダウンロードしました。
(asagemath.org hereにも質問したことに注意してください。)
c - Ubuntu libdispatch
GCD (Grand Central Dispatch) を使用するプログラムを OSX から Ubuntu 11.10 に移植しようとしています。libdispatch をインストールしましたが、次のエラーが発生し続けます。
奇妙なことに、dispatch_main() は、インクルードするヘッダー ファイルで宣言されており、そのヘッダー ファイルで宣言されている他の関数を呼び出すと、コンパイラはそれらを認識します。見ることができないのはdispatch_main()だけであり、dispatch_main(2)を呼び出すと、引数が多すぎると言われるので、コンパイラーがヘッダーを見ることができることがわかります。
以前は未定義の参照エラーで機能していたので、コンパイルとリンクのステップを分離してみました(clang -c ...)が、ここでは何もしていないようです...
誰か提案はありますか?私はこれにかなり困惑しています...
ios - ブロックなしのグランド セントラル ディスパッチ
ブロックなしでGCDを使用することは可能ですか? mikeash が彼の投稿で述べているように、_f バリアントを使用して GCD を使用する方法はありますか。私は周りを検索しましたが、どちらの側にも証拠はありません。可能か不可能か。
実行可能な場合は、例を挙げてください。
/セルビン