多執行緒的sleep,靜態鏈結

2021-04-30 10:39:31 字數 598 閱讀 5220

#include

#include

#include

#include

int mysleep(unsigned int sleepsecond)

這就可以繞過可能的「陷阱」。

在嵌入式應用裡面,除去通用的庫,出於空間的考慮,需要把一些程式進行靜態鏈結,如果在實現sleep這個程式的時候,使用這個mysleep呼叫。進行靜態鏈結的時候會產生出很大的可執行程式。

例如:

int main(int argc,char ** argv)

else

return 0;}

進行:g++ -o sleep --static sleep.cpp

得到的sleep可執行程式超過了1m。

而使用傳統的sleep系統呼叫編制sleep程式,在控制程式大小方面更好:

int main(int argc,char ** argv)

else

return 0;

}進行:gcc -o sleep --static sleep.c

得到的sleep可執行程式僅僅400k左右。

很好。

多執行緒之sleep

還是使用join 學習的例子。實驗 如下 package thread public class jointest implements runnable public static void main string args throws exception 實驗結果是0,具體原因見本人部落格多執...

多執行緒sleep與wait的區別

package com.huawei.interview public class thread1 implements runnablecatch exception e system.out.println thread1 is going on system.out.println threa...

多執行緒wait 和sleep 的區別

wait 位於同步中,可以釋放鎖的資源 sleep 不是釋放鎖的資源 wait需要notify才能從休眠狀態變為執行狀態,sleep到期之後,會自動從休眠狀態變為執行狀態。官方話語如下 對於sleep 方法,我們首先要知道該方法是屬於thread類中的。而wait 方法,則是屬於object類中的。...