[C / C ++] C ++ベース_3_処理、信号、プロセス間通信の間、/マルチスレッド、スレッドの同期


1.プロセス:PS、GETPID()、フォーク()、>

ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
GETPIDライブラリ関数番号取得処理は、
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
マルチプロセス
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
、最初の行の下には、親プロセスである第二のラインサブプロセス
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
同時以下の概念、プロセス・アプリケーション
ここに画像を挿入説明
ここに画像を挿入説明
内のサーバ、同時にアプリケーション
ここに画像を挿入説明
次サーバー
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
上の分析のために、次のコード
ここに画像を挿入説明
ここに画像を挿入説明

2.信号:信号(EXIT)。

どのようにバックグラウンドで実行中のプログラムを取得するため
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
のプロセスのための信号を
ここに画像を挿入説明
、本質的にマクロ信号名として
ここに画像を挿入説明
上記の名前の子プロセスの終了が親に信号を送り、SIGCHLD親プロセスがシグナルを処理しないと、子プロセスがゾンビプロセスになることならば、。
11の信号値は、それらの不正使用またはヌルポインタアドレスの無差別使用であり、さらに同じ信号値9は、コードが無視できない無視加えます。
ここに画像を挿入説明
ここに画像を挿入説明
デフォルト値は、一般的に、カスタム関数EXIT機能としてはありませんように、第3の回復信号処理方法
ここに画像を挿入説明
グローバル変数がアクセスをtcpserverののEXIT機能を設定されているため機能次のカスタムEXIT機能は、それとはソケットを閉じている
ここに画像を挿入説明
ここに画像を挿入説明
Ctrl + Cと殺すように/すべてを殺しますexitコマンドは、プロセスをシャットダウンする機能を呼び出すことができますが、プロセスを強制終了していない、と脱退の通告が呼ばれる
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
次はC言語の関数を殺さない、オペレーティングシステムのkillコマンド信号です。他のユーザーがプロセスを殺すことはできません殺す
ここに画像を挿入説明
殺す機能を、成功すると0の値を返します。-1失敗。この機能は、[1]以下のargv、監視プロセスに使用される、すなわち、PID番号、ARGV [2]第二のパラメータは信号値であるを殺す最初のパラメータであります
ここに画像を挿入説明
ここに画像を挿入説明

前記プロセス間通信:たshmget()

プロセスデータ空間は、互いに独立して、彼らは通信できません。しかし、いくつかの場合において交換データシステム、または機能を完了するために相互にプロセス間通信を必要と
通信シナリオ以下のプロセスで
ここに画像を挿入説明
同様のソケットキューが、唯一の機械でメッセージ。全般と組み合わせるメモリとセマフォ共有
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
5サンプルプログラムを:操作は共有メモリの動作に相当し、ポインタが
ここに画像を挿入説明
書かれている文字列である「このプログラムのプロセス...」、Redisのは、自分自身の共有メモリを記述する必要はありません
ここに画像を挿入説明ここに画像を挿入説明

4.マルチスレッド:のpthread_create()

ここに画像を挿入説明
がpthread_t(データ型)の最初のパラメータ:typedefの符号なしlong int型がpthread_t、unsigned long型
ここに画像を挿入説明
の新しい顧客は、main関数の記述方法を確認するためにスレッドを以下のプロセスではなく、会社の端にスレッドを開始、pthread_createのは、C言語のライブラリ関数があり
ここに画像を挿入説明
ますthread_start変更pth_main(main関数スレッド)
ここに画像を挿入説明
それが上記の形で書かれているように、
ここに画像を挿入説明
サーバーに以下
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ソケット以下プリント
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
として(void*)ii = void*arg
ここに画像を挿入説明
単一のマルチスレッドプロセス:キルのみプロセス(キルスレッドが存在しない)、殺すスレッドのプロセスが自動的に終了する
複数のプロセス。親が子プロセス再利用しないで、殺された
複数のスレッドが割り当てスレッドの切り替えを完了しませんが、値は、その値のない元の値が削除されます

5.スレッド同期:pthread_mutex_t

ここに画像を挿入説明
ここに画像を挿入説明
pthread_mutex_t構造。データ入力:ランディングページ。データショー:javaのは、Microsoft .NET、C#。共有リソース:全局变量全局对象(データベース接続詞、ソケット、ログファイルオブジェクト)
ここに画像を挿入説明
+への道を開くために、ログファイルには、追加コンテンツの最後まで続けるため、
ここに画像を挿入説明
ここに画像を挿入説明
画面上に書かれた内容が、ログファイルが書き込まれるbook242としてではない
ここに画像を挿入説明
ここに画像を挿入説明
トップキルプロセスkillallをbook242後ビュー.logファイルを表示することができ、以下の変更が問題解決するために、オプションのバッファ書き込みバッファいる
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ログファイルで複数のスレッドの共有リソースを、共有リソースの問題(ファイル内容の書き込み障害)、ロックを定義するためのログファイル、ロックかもしれ
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
上記操作と同じログを書き込む前に、表面は、以下の変更が1秒スリープ効果を見ることができない
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明
30て送信メッセージはそれほど(20 * 30終了する、1秒でフラッシュし、ロックされていないクライアント20 )■
ここに画像を挿入説明

公開された18元の記事 ウォンの賞賛113 ・は 20000 +を見て

おすすめ

転載: blog.csdn.net/weixin_43435675/article/details/103216651