關於pause函式時掛起程序還是掛起執行緒的驗證

2021-07-10 22:40:00 字數 639 閱讀 6236

#include

#include

#include

#include

#include

void * timer(void *)

void *testp(void *)

int main()

{//int ret = alarm(5) ;//設定乙個定時器

//signal(sigalrm, timer);

//pause();

pthread_t t1, t2;

printf("begin to test\n") ;

pthread_create(&t1, null, &testp, null);

pthread_create(&t2, null, &timer, null);

pthread_join(t1, null);

pthread_join(t2, null);

return 0;

輸出如下:

從上面檔案的輸出可以看出,pause只是掛起所在的執行緒,然而當sigalrm訊號到達的時候,pause函式會將整個程序終止掉。

關於自製交換函式時的問題

最近閒來無事,自己練習實現c語言快速排序,如下 includevoid show int arr,int length 顯示排序結果 printf n void swap int a,int b 交換兩個值 void quick int arr,int ileft,int iright swap a...

關於程序建立fork函式的理解

fork一次返回2個值,返回三類值。函式原型 pid t fork 正 fork父程序,返回子程序id 零 fork子程序,返回0 負 fork失敗。fock函式呼叫一次卻返回兩次。向父程序返回子程序的id,向子程序中返回0,這是因為父程序可能存在很多過子程序,所以必須通過這個返回的子程序id來跟蹤...

其它 關於時間函式mktime函式夏令時的問題

在很多應用中,我們會用mktime函式進行時間準換操作,但這裡面有乙個夏令時的操作問題 我們的最終目的是把字串格式的時間轉換為內部使用的 日曆時間 即到utc 1970年1月1日零時的秒數。這裡就存在夏令時的問題。比如俄羅斯時間2008年10月26日2 30由於夏令時的跳變會經過兩次,這兩次所代表的...