uclinux下實現(xiàn)多線程
2022-12-09 13:56 作者:有AI野心的電工和碼農(nóng) | 我要投稿

本文內(nèi)容是10年時在FPGA軟核NIOS上運行uclinux時從網(wǎng)上收集而來, 原文網(wǎng)址已不可考, 我略加整改而成.
雖是在uclinux下建立多線程的示例, 但在linux下也適用也有參考價值, 套路都一樣. 不過uclinux這兩年已經(jīng)很少看到有人談起了, 硬件發(fā)展了資源豐富了, 也不太有必要用uclinux了, 大家且看看吧.
我們這里就不再贅述?進程process?和?線程thread?的概念了, 直接進入正題.
由于uClinux只是Linux的一個子集, 它沒有Linux里實現(xiàn)多進程的fork函數(shù), 只有vfork, 但是vfork在建立子進程后得等到子進程運行完才運行父進程, 在使用的時候很不方便.
不過幸好, 它實現(xiàn)了多線程.
一個簡單的多線程程序:
需要注意一點:由于需要多線程, 在代碼里我們加入了#include <pthread.h>
, 在Makefile里也需要添加一句LDLIBS += -lpthread
, 具體如下:
好了, 就這么多, 并不麻煩.
標簽: