uclinux下实现多线程
2022-12-09 13:56 作者:有AI野心的电工和码农 | 我要投稿

本文内容是10年时在FPGA软核NIOS上运行uclinux时从网上收集而来, 原文网址已不可考, 我略加整改而成.
虽是在uclinux下建立多线程的示例, 但在linux下也适用也有参考价值, 套路都一样. 不过uclinux这两年已经很少看到有人谈起了, 硬件发展了资源丰富了, 也不太有必要用uclinux了, 大家且看看吧.
我们这里就不再赘述 进程process 和 线程thread 的概念了, 直接进入正题.
由于uClinux只是Linux的一个子集, 它没有Linux里实现多进程的fork函数, 只有vfork, 但是vfork在建立子进程后得等到子进程运行完才运行父进程, 在使用的时候很不方便.
不过幸好, 它实现了多线程.
一个简单的多线程程序:
需要注意一点:由于需要多线程, 在代码里我们加入了#include <pthread.h>
, 在Makefile里也需要添加一句LDLIBS += -lpthread
, 具体如下:
好了, 就这么多, 并不麻烦.