良い一日!
xlib プロジェクトの作成に少し問題があります。これが私のプロジェクトの構造です:
[ Init ]
[ Making some stuff ]
[ Creating a timer thread (see code below) ]
[ Main cycle (see code below) ]
ユーザーが任意のボタンを押すと、スレッドのフラグを true のような値に設定し、n 回ごとに CustomMessage をウィンドウに送信し始めます。
while (warehouse.destroyflag != SML_DEAD)
{
if (XPending(warehouse.display))
{
XNextEvent(warehouse.display, &event);
しかし、ここで少し問題があります。メイン サイクルの現在の実現により、約 100% の CPU 負荷があります。しかし、コードから XPending 行を削除すると、負荷はほぼ 0% になります。しかし、その場合、別のスレッドから正しい CustomMessage が届きません。
Xlib プログラムのサンプルコードを見つけてコンパイルしました。同じ問題があり、CPU 負荷は約 100% です。サンプルは次のとおりです。
http://paste.bradleygill.com/index.php?paste_id=4897
ここに私のスレッドのコードがあります: http://paste.bradleygill.com/index.php?paste_id=4898
そして、ここに私のサイクルがあります: http://paste.bradleygill.com/index.php?paste_id=4899
GTK+ プロジェクト コードを読んだところ、非常によく似たサイクルであることがわかりましたが、そのため、GTK+ アプリケーションのいずれもが 100% の CPU 負荷を持っていることがわかりません。
回答ありがとうございます。