找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3356|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

Atomic Operation【原子操作符】簡介

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:72519 發(fā)表于 2015-1-23 19:21 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
最近在研究gmain.c時,經(jīng)常碰到g_atomic_int_inc,查看源碼時,發(fā)現(xiàn)基本上是由匯編語句寫的,其功能是對一個變量加1。查看API手冊才知道這就是所謂的原子操作符運算。
原子操作,設(shè)計它的主要目的就是該操作未完成前絕不會被其它線程或任務(wù)或中斷打斷。也就說,它是最小的執(zhí)行單位,不可能有比它更小的執(zhí)行單位,因此這里的原子實際是使用了物理學(xué)里的物質(zhì)微粒的概念。不過這種操作需要硬件的支持,所以他們幾乎都是用匯編實現(xiàn)的。
    有了原子操作,我們就可以通過原子操作來處理臨界段,避免使用互鎖等操作,因為那會消耗很多指令周期。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表