程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 線程讓出實驗【RT-Thread學習筆記 4】,rt-thread學習筆記

線程讓出實驗【RT-Thread學習筆記 4】,rt-thread學習筆記

編輯:關於C語言

線程讓出實驗【RT-Thread學習筆記 4】,rt-thread學習筆記


API: rt_thread_yield

線程函數中調用,本線程釋放MCU。如果此時有別的相同優先級的任務整處於等待狀態,將獲得MCU使用權。

線程讓出就是給OS增加一個任務調度的機會。

創建兩個線程,觀察他們的結果:

//線程讓出試驗
void yield_test1(void* parameter)
{
    rt_uint32_t count = 0;
    while(1)
    {
        rt_kprintf("thread test1 count:%d\n",count++);
        rt_thread_yield();
    }
}
void yield_test2(void* parameter)
{
    rt_uint32_t count = 0;
    while(1)
    {
        rt_kprintf("thread test2 count:%d\n",count++);
        rt_thread_yield();
    }
}

啟動他們:

//線程讓出實驗,兩個線程優先級一樣。否則在給一次調度機會也是高優先級的任務使用MCU
    tid2 = rt_thread_create("yield1",yield_test1,RT_NULL,2048,10,5);
    if(tid2 != RT_NULL)
        rt_thread_startup(tid2);
    tid2 = rt_thread_create("yield2",yield_test2,RT_NULL,2048,10,5);
    if(tid2 != RT_NULL)
        rt_thread_startup(tid2);
 

看見兩個線程輪流輸出:

\ | /

- RT - Thread Operating System

/ | \ 2.0.0 build Aug 29 2014

2006 - 2013 Copyright by rt-thread team

thread test1 count:0

thread test2 count:0

thread test1 count:1

thread test2 count:1

thread test1 count:2

thread test2 count:2

thread test1 count:3

thread test2 count:3

thread test1 count:4

thread test2 count:4

thread test1 count:5

thread test2 count:5

……..

如果沒有線程讓出的操作,情況將是等一個線程時間片結束之後,才會輪到另一個線程輸出。不會是輪流輸出了

rt-thread 怎搭建gui

RT-Thread/GUI是專為RT-Thread操作系統開發的,並在相應的地方采用了RT-Thread特有的功能,它是一款幾乎從零代碼開始編寫的,擁有獨立知識產權的圖形界面(不包括JPEG、PNG等圖形庫部分)。在RT-Thread許可證的條款下,能夠免費的在商業產品中使用。RT-Thread/GUI的特性包括:
- 多線程圖形用戶界面;
- 依賴於RT-Thread線程調度器的實時圖形用戶界面;
- 創新式的在嵌入式系統中引入面板的概念,縮小了多線程,多窗口圖形用戶界面編程代價:
* workbench,對應多線程;
* view,對應不同的用戶界面視圖;
* window,對應多窗口;
- C語言方式的全面向對象設計:
* 對象具備運行時類型信息;
* 對象自動銷毀,使得內存的管理更為輕松;
- 豐富的控件支持:
* button,checkbox,radiobox
* textbox
* progressbar,slider
* listview,filelist_view
 

國產RTOS,比如都江堰實時操作系統?RT-Thread?等,除了這兩個,還有其他的?有專門做RTOS的公司?

RT-Thread RTOS   
這是一款由國內RT-Thread工作室開發的開源實時操作系統。起初RT-Thread是一個實時的內核(全搶占優先級調度,調度器時間復雜度O(1)),但在發展過程中,RT-Thread實時操作系統得到了來自全國嵌入式開發工程師的鼎力支持,為RT-Thread添磚加瓦,現在它已慢慢變成一個完善的、全功能的操作系統:文件系統,網絡協議棧,圖形界面組件。。。只有您想不到,沒有您做不到:RT-Thread是一個平台,您可以把您的創意匯聚在一起,小平台大社區,RT-Thread的開發人員就在您的身邊。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved