欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解易語言線程同步

 更新時(shí)間:2018年12月06日 14:23:07   投稿:laozhang  
在本篇內(nèi)容中我們給大家詳細(xì)分享了關(guān)于易語言多線程之線程同步的相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。

在易語言官方多線程支持庫(kù)中提供線程同步的方法是用許可區(qū)。

加入許可區(qū)之后可以防止多個(gè)線程同時(shí)訪問公用變量是發(fā)生沖突。加入許可區(qū)的代碼同時(shí)只能有一個(gè)線程訪問,避免沖突。

創(chuàng)建許可區(qū):

創(chuàng)建并返回一個(gè)進(jìn)入許可證數(shù)值,此許可證值用作進(jìn)入程序中的指定許可代碼區(qū),以避免多線程沖突。成功返回非零整數(shù)值,失敗返回0。所創(chuàng)建的許可證在不再使用后,必須使用“刪除進(jìn)入許可證”命令將其刪除。本命令為初級(jí)命令。

刪除進(jìn)入許可證:

刪除由“創(chuàng)建進(jìn)入許可證”命令所創(chuàng)建返回的進(jìn)入許可證。成功返回真,失敗返回假。本命令為初級(jí)命令。

參數(shù) 數(shù)據(jù)類型 說明
進(jìn)入許可證 “整數(shù)型(int) 本參數(shù)應(yīng)提供由“創(chuàng)建進(jìn)入許可證”命令所創(chuàng)建并返回的數(shù)值。

進(jìn)入許可區(qū): 根據(jù)已經(jīng)創(chuàng)建的許可證進(jìn)入指定許可代碼區(qū),在此線程未退出之前,其它線程如要通過同一個(gè)進(jìn)入許可證進(jìn)入該許可代碼區(qū)則必須先等待此線程退出許可代碼區(qū),從而保證了指定許可代碼區(qū)在任何時(shí)候都只能有一條線程進(jìn)入并執(zhí)行。本命令為初級(jí)命令。

參數(shù) 數(shù)據(jù)類型 說明
進(jìn)入許可證 整數(shù)型(int) 本參數(shù)應(yīng)提供由“創(chuàng)建進(jìn)入許可證”命令所創(chuàng)建并返回的數(shù)值。

.版本 2
.支持庫(kù) EThread

.程序集 窗口程序集1
.程序集變量 線程句柄, 整數(shù)型, , "10"
.程序集變量 num, 整數(shù)型

.子程序 __啟動(dòng)窗口_創(chuàng)建完畢
.局部變量 i, 整數(shù)型

i = 1
num = 10
.判斷循環(huán)首 (i ≤ 10)
  啟動(dòng)線程 (&子程序1, , 線程句柄 )
  啟動(dòng)線程 (&子程序2, , 線程句柄 [i + 1])
  關(guān)閉線程句柄 (線程句柄 )
  關(guān)閉線程句柄 (線程句柄 [i + 1])
  i = i + 2
.判斷循環(huán)尾 ()


.子程序 子程序1

num = num - 1
輸出調(diào)試文本 (num)

.子程序 子程序2

num = num - 1
輸出調(diào)試文本 (num)

調(diào)試輸出結(jié)果:

* 8
* 9
* 7
* 6
* 5
* 4
* 3
* 2
* 1
在執(zhí)行一次:
* 8
* 7
* 9
* 6
* 5
* 4
* 3
* 2
* 1
* 0

我們可以明顯的發(fā)現(xiàn)問題,,雖然最終是把num減到了0,但是結(jié)果完全是亂的。

利用許可證解決上面的問題:

.版本 2
.支持庫(kù) EThread

.程序集 窗口程序集1
.程序集變量 線程句柄, 整數(shù)型, , "10"
.程序集變量 num, 整數(shù)型
.程序集變量 許可證, 整數(shù)型

.子程序 __啟動(dòng)窗口_創(chuàng)建完畢
.局部變量 i, 整數(shù)型

許可證 = 創(chuàng)建進(jìn)入許可證 ()

i = 1
num = 10
.判斷循環(huán)首 (i ≤ 10)
  啟動(dòng)線程 (&子程序1, , 線程句柄 )
  啟動(dòng)線程 (&子程序2, , 線程句柄 [i + 1])
  關(guān)閉線程句柄 (線程句柄 )
  關(guān)閉線程句柄 (線程句柄 [i + 1])
  i = i + 2
.判斷循環(huán)尾 ()

.如果真 (num = 0)
  刪除進(jìn)入許可證 (許可證)
.如果真結(jié)束


.子程序 子程序1

進(jìn)入許可區(qū) (許可證)
num = num - 1
退出許可區(qū) (許可證)
輸出調(diào)試文本 (num)

.子程序 子程序2

進(jìn)入許可區(qū) (許可證)
num = num - 1
退出許可區(qū) (許可證)
輸出調(diào)試文本 (num)

輸出結(jié)果:

* 9
* 8
* 7
* 6
* 5
* 4
* 3
* 2
* 1
* 0

用了許可證之后每次都是這樣的穩(wěn)定結(jié)果。

相關(guān)文章

  • 易語言刪除注冊(cè)項(xiàng)工具

    易語言刪除注冊(cè)項(xiàng)工具

    今天小編就為大家分享一篇關(guān)于易語言刪除注冊(cè)項(xiàng)工具,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 易語言取系統(tǒng)桌面路徑方法

    易語言取系統(tǒng)桌面路徑方法

    在本篇內(nèi)容里小編給大家整理了關(guān)于易語言取系統(tǒng)桌面路徑方法以及相關(guān)的源碼內(nèi)容,需要的可以參考下。
    2018-12-12
  • 易語言從前或從后尋找指定字節(jié)集

    易語言從前或從后尋找指定字節(jié)集

    今天小編就為大家分享一篇關(guān)于易語言從前或從后尋找指定字節(jié)集,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-11-11
  • 易語言制作文件夾壓縮備份工具的代碼

    易語言制作文件夾壓縮備份工具的代碼

    今天小編就為大家分享一篇關(guān)于易語言制作文件夾壓縮備份工具的代碼,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-11-11
  • 易語言枚舉所有子窗口講解

    易語言枚舉所有子窗口講解

    在本篇內(nèi)容中小編給大家分享了易語言枚舉所有子窗口的相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們參考下。
    2018-12-12
  • 易語言賦值定義多維數(shù)組的代碼實(shí)例

    易語言賦值定義多維數(shù)組的代碼實(shí)例

    今天小編就為大家分享一篇關(guān)于易語言賦值定義多維數(shù)組的代碼實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • 易語言在組合框指定位置插入一個(gè)新項(xiàng)目的方法

    易語言在組合框指定位置插入一個(gè)新項(xiàng)目的方法

    今天小編就為大家分享一篇關(guān)于易語言在組合框指定位置插入一個(gè)新項(xiàng)目的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-11-11
  • 易語言魚刺線程池?fù)芴?hào)模板

    易語言魚刺線程池?fù)芴?hào)模板

    今天小編就為大家分享一篇關(guān)于易語言魚刺線程池?fù)芴?hào)模板,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-11-11
  • 易語言統(tǒng)計(jì)重復(fù)數(shù)教學(xué)

    易語言統(tǒng)計(jì)重復(fù)數(shù)教學(xué)

    在本篇文章里小編給大家?guī)淼囊黄P(guān)于易語言統(tǒng)計(jì)重復(fù)數(shù)教學(xué)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2019-01-01
  • 易語言刷屏工具瞬間99+的代碼

    易語言刷屏工具瞬間99+的代碼

    今天小編就為大家分享一篇關(guān)于易語言刷屏工具瞬間99+的代碼,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12

最新評(píng)論