[過去ログ]
マルチスレッドプログラミング相談室 その4 (1001レス)
マルチスレッドプログラミング相談室 その4 http://pc8.5ch.net/test/read.cgi/tech/1130984585/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
66: 65 [] 2005/11/20(日) 17:29:42 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/sem.h> union semun { int val; struct semid_ds *buf; unsigned short int *array; struct seminfo *__buf; }; int lock(int argc, char *argv[]) { union semun semaphore_union; struct sembuf semaphore_buffer; int semaphore_id; semaphore_id = semget((key_t)1000, 1, 0666 | IPC_CREAT); semaphore_union.val=1; //sem init if ( semctl(semaphore_id, 0, SETVAL, semaphore_union) != 0 ) { exit(1); } //lock semaphore_buffer.sem_num = 0; semaphore_buffer.sem_op = -1; semaphore_buffer.sem_flg = SEM_UNDO; if ( semop(semaphore_id, &semaphore_buffer, 1) == -1 ) { exit(1); } sleep(30) // 何かの処理の変わり //unlock semaphore_buffer.sem_num = 0; semaphore_buffer.sem_op = -1; semaphore_buffer.sem_flg = SEM_UNDO; if ( semop(semaphore_id, &semaphore_buffer, 1) == -1 ) { exit(1); } //sem end if ( semctl(semaphore_id, 0, IPC_RMID, semaphore_union) != 0 ) { exit(1); } return(0); } http://pc8.5ch.net/test/read.cgi/tech/1130984585/66
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 935 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.130s*