21 用鎖實現終端輸出

2021-10-01 14:10:47 字數 1397 閱讀 1070

新建乙個檔案 console.c。

console.c

#include

"console.h"

#include

"../lib/kernel/print.h"

#include

"../lib/std_int.h"

#include

"../thread/sync.h"

#include

"../thread/thread.h"

static

struct lock console_lock;

// 控制台鎖

/* 初始化終端 */

void

console_init()

/* 獲取終端 */

void

console_acquire()

/* 釋放終端 */

void

console_release()

/* 終端中輸出字串 */

void

console_put_str

(char

* str)

/* 終端中輸出字元 */

void

console_put_char

(uint8_t char_asci)

/* 終端中輸出16進製制整數 */

void

console_put_int

(uint32_t num)

在main.c 中呼叫終端用鎖來封裝的一些函式。

main.c

#include

"../lib/kernel/print.h"

#include

"my_interrupt.h"

#include

"../device/timer.h"

#include

"debug.h"

#include

"memory.h"

#include

"../thread/thread.h"

#include

"init.h"

void

k_thread_a

(void*)

;void

k_thread_b

(void*)

;int

main

(void

)return0;

}void

k_thread_a

(void

* arg)

}void

k_thread_b

(void

* arg)

}

Linux終端程式用c語言實現改變輸出的字的顏色

格式 echo 033 字背景顏色 字型顏色m字串 033 0m 例如 echo 033 41 36m something here 033 0m 其中41的位置代表底色,36的位置是代表字的顏色 那些ascii code 是對顏色呼叫的始末.033 m 033 0m 字背景顏色範圍 40 49 4...

用單鏈表實現演算法2 1

algo2 12.cpp 用單鏈表實現演算法2.1,僅有4句與algo2 1.cpp不同 include c1.h typedef int elemtype include c2 2.h 此句與algo2 1.cpp不同 因為採用不同的結構 include bo2 2.cpp 此句與algo2 1....

用C 實現多執行緒Mutex鎖

準備知識 1,核心物件互斥體 mutex 的工作機理,waitforsingleobject函式的用法,這些可以從msdn獲取詳情 2,當兩個或更多執行緒需要同時訪問乙個共享資源時,系統需要使用同步機制來確保一次只有乙個執行緒使用該資源。mutex 是同步基元,它只向乙個執行緒授予對共享資源的獨佔訪...