結論: マルチスレッド #include <stdio.h> #include <文字列.h> #include <stdlib.h> #include <pthread.h> #include <assert.h> void *fun1(void *arg) { printf("fun1 enter\n"); ながら(1) { printf("%s\n", __FUNCTION__); スリープ(1000 * 1000); } printf("fun1 exit\n"); 戻り値 ((void *)1); } void *fun2(void *arg) { printf("fun1 enter\n"); スリープ(1000 * 3000); char * ptr = (char *)malloc(sizeof(char)); printf("ptr1: 0x%x\n", ptr); ptr = NULL; printf("ptr2: 0x%x\n", ptr); 解放(ptr); memcpy(ptr, "123", 3); printf("ptr3: 0x%x\n", ptr); printf("fun2 exit\n"); 戻り値 ((void *)2); } int メイン(void) { pthread_t tid1、tid2; 整数エラー; エラー = pthread_create(&tid1, NULL, fun1, NULL); アサート(0 == エラー); エラー = pthread_create(&tid2, NULL, fun2, NULL); アサート(0 == エラー); printf("メイン結合...\n"); // getchar(); pthread_join(tid1, NULL); pthread_join(tid2, NULL); 0を返します。 } マルチプロセス #include <stdio.h> #include <文字列.h> #include <stdlib.h> #include <pthread.h> #include <assert.h> void fun(void *arg) { printf("fun1 enter\n"); スリープ(1000 * 3000); char * ptr = (char *)malloc(sizeof(char)); printf("ptr1: 0x%x\n", ptr); ptr = NULL; printf("ptr2: 0x%x\n", ptr); 解放(ptr); memcpy(ptr, "123", 3); printf("ptr3: 0x%x\n", ptr); printf("fun2 exit\n"); 戻る ; } int main(int argc, char *argv[]) { アサート(2 == argc); pid_t pid; 整数 i; i=0; i<atoi(argv[1]); i++)の場合 { pid = fork(); 0 より大きい場合 { printf("フォークエラー"); 終了(1); } そうでない場合(0 == pid) { printf("子のPIDは%luです\n", (unsigned long)getpid()); 楽しい(NULL); 終了(0); } } printf("親PIDは%lu\n", (unsigned long)getpid()); while(-1 != wait(NULL)); //すべてのサブプロセスが終了するまで待機します printf("main return\n"); getchar(); 0を返します。 } マルチスレッド クラッシュとマルチプロセス クラッシュの Linux シミュレーションに関するこの記事はこれで終わりです。マルチスレッド クラッシュとマルチプロセス クラッシュの Linux シミュレーションに関するより関連性の高い記事については、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: MySQL における distinct と group by の違い
>>: JavaScript es6 における var、let、const の違いの詳細な説明
状況の説明:今日、MySQL データベースのスレーブ ノード ホストにログインしたところ、/var/...
定義と使用方法:コンポーネントのテンプレートでスロットタグの定義を使用します。デフォルトの表示値は、...
1: MySqlをダウンロードする公式サイトのダウンロードアドレス: https://dev.mys...
この記事は、Ubuntu 17.10 での Docker CE のインストールを記録するために使用さ...
node-media-server を使用するプロセスの一部を記録します。この記事の環境はWindo...
ターミナルやコンソールで作業しているときは、メールを読むなど、もっと重要な作業があるかもしれないので...
目次1. 日付2. 正規表現3. オリジナルパッケージタイプ序文:参照値(オブジェクト)は、 Dat...
1. リンク解除機能ハード リンクの場合、unlink はディレクトリ エントリを削除し、inode...
Nginx をインストールして試してみましょう。画像はクラスであり、コンテナはオブジェクトであること...
最近、イントラネットポータルを修正していたときに、フィルターを使用する必要がある箇所に遭遇しました。...
水平スクロールはあらゆる状況に適しているわけではありませんが、適切に行えば、Web サイトを他のサイ...
目次シンプルな CASEWHEN 関数:これは、CASEWHEN 条件式関数を使用するのと同じです。...
序文MySQL は、2016 年もデータベースの人気において力強い成長傾向を維持し続けました。 My...
目次トピック分析する基本的な解決策基本的な再帰再帰最適化要約するトピック私たちが答えなければならない...
1. CSSファイルの命名規則提案: 文字、_、-、数字を使用します。文字で始まる必要があり、純粋な...