訊號量使用例項

2021-05-24 14:05:39 字數 1630 閱讀 8790

#include

#include

#include

//#include

#include//2.6.28

module_license("dual bsd/gpl");

int num[2][5]=,

};struct semaphore sem_first;

struct semaphore sem_second;

int thread_print_first(void *);

int thread_print_second(void *);

int thread_print_first(void *p)

return 0;

}int thread_print_second(void *p)

return 0;

}static int hello_init(void)

static void hello_exit(void)

module_init(hello_init);

module_exit(hello_exit);

module_author("niu tao");

module_description("a ****** hello world module");

module_alias("a ******st module");

makefile:

obj-m :=hello.o

current_path := $(shell pwd)

linux_kernel := $(shell uname -r)

linux_kernel_path := /usr/src/linux-headers-$(linux_kernel)

all:

make -c $(linux_kernel_path) m=$(current_path) modules 

clean:

rm -rf .*.cmd *.o *.mod.c *.ko .tmp_versions module.symvers .makefile.swp

功能:使用訊號量實現資料的順序列印

執行結果:

訊號量例項

pv原語的含義 p操作和v操作是不可中斷的程式段,稱為原語。pv原語及訊號量的概念都是由荷蘭科學家e.w.dijkstra提出的。訊號量sem是一整數,sem大於等於零時代表可供併發程序使用的資源實體數,但sem小於零時則表示正在等待使用臨界區的程序數。p原語操作的動作是 1 sem減1 2 若se...

linux 訊號量使用例項

define major num 254 static ssize t globalvar read struct file char size t,loff t static ssize t globalvar write struct file const char size t,loff t ...

Linux 訊號量使用例項詳解

例項篇 1.定義帶有裝置併發控制方案的結構體 諸如訊號量,自旋鎖等,反正前邊那麼多了 struct csyncontrol dev 然後,將訊號量的初始化工作放到模組初始化部分裡 int csycontrol init void 以後在訪問csyncontrol dev中的共享資源時,需要首先獲取這...