本申請涉及藍牙,尤其涉及一種藍牙設(shè)備的多線程控制方法以及電子裝置。
背景技術(shù):
1、隨著科技的不斷發(fā)展,人們在生活中可以通過智能設(shè)備上的應(yīng)用程序(application,app)與藍牙設(shè)備建立連接,并對藍牙設(shè)備進行控制。例如,通過手機app,我們可以隨時隨地控制家中的各種設(shè)備,如遠程開關(guān)空調(diào)、電視、燈光等。但是,隨著藍牙設(shè)備的種類不斷地增多,需要的app也越來越多,為智能設(shè)備帶來了很大的負擔(dān)。然而,如果通過一個app控制眾多藍牙設(shè)備,可能會涉及到頻繁的斷開和重連藍牙操作,使得操作更加復(fù)雜。
技術(shù)實現(xiàn)思路
1、本申請實施例提供了一種藍牙設(shè)備的多線程控制方法以及電子裝置。
2、第一方面,本申請實施例提供了一種藍牙設(shè)備的多線程控制方法,該方法基于一個app執(zhí)行,該方法包括:
3、與藍牙設(shè)備建立藍牙連接;
4、獲取藍牙設(shè)備的mac地址;
5、將mac地址作為線程id為藍牙設(shè)備建立對應(yīng)的線程,線程用于與藍牙設(shè)備通信;
6、將線程放入線程池中,線程池中包括一個或多個藍牙設(shè)備各自對應(yīng)的線程,多個藍牙設(shè)備各自對應(yīng)的線程之間并行,一個或多個藍牙設(shè)備的藍牙連接狀態(tài)通過藍牙設(shè)備列表記錄。
7、可選的,該方法還包括:
8、監(jiān)測線程池中的各線程,以及藍牙設(shè)備列表中各藍牙設(shè)備的狀態(tài);
9、基于各線程與藍牙設(shè)備列表中在線藍牙設(shè)備的對應(yīng)關(guān)系,對各藍牙設(shè)備和/或各線程進行控制。
10、可選的,基于各線程與藍牙設(shè)備列表中在線藍牙設(shè)備的對應(yīng)關(guān)系,對各藍牙設(shè)備和/或各線程進行控制,包括:
11、判斷各線程是否與藍牙設(shè)備列表中在線藍牙設(shè)備一一對應(yīng);
12、若藍牙設(shè)備列表中存在缺少對應(yīng)線程的在線藍牙設(shè)備,則將藍牙設(shè)備的mac地址作為線程id為藍牙設(shè)備建立對應(yīng)的線程,并將線程放入線程池中;和/或,
13、若線程池中存在缺少對應(yīng)在線藍牙設(shè)備的線程,則從線程池中剔除線程,并與以線程的線程id為mac地址的藍牙設(shè)備重新建立藍牙連接。
14、可選的,藍牙設(shè)備為智能家居設(shè)備。
15、第二方面,本申請實施例提供了一種電子設(shè)備,該電子設(shè)備基于一個app控制一個或多個藍牙設(shè)備,該電子設(shè)備包括:
16、藍牙連接模塊,用于與藍牙設(shè)備建立藍牙連接;
17、獲取模塊,用于獲取藍牙設(shè)備的mac地址;
18、線程建立模塊,用于將mac地址作為線程id為藍牙設(shè)備建立對應(yīng)的線程,建立的線程用于與藍牙設(shè)備通信;
19、線程池管理模塊,用于將建立的線程放入線程池中,線程池中包括一個或多個藍牙設(shè)備各自對應(yīng)的線程,多個藍牙設(shè)備各自對應(yīng)的線程之間并行,一個或多個藍牙設(shè)備的藍牙連接狀態(tài)通過藍牙設(shè)備列表記錄。
20、可選的,該電子設(shè)備還包括:
21、監(jiān)測模塊,用于監(jiān)測線程池中的各線程,以及藍牙設(shè)備列表中各藍牙設(shè)備的狀態(tài);
22、控制模塊,用于基于各線程與藍牙設(shè)備列表中在線藍牙設(shè)備的對應(yīng)關(guān)系,對各藍牙設(shè)備和/或各線程進行控制。
23、可選的,該控制模塊包括:
24、判斷模塊,用于判斷各線程是否與藍牙設(shè)備列表中在線藍牙設(shè)備一一對應(yīng);
25、子控制模塊,用于在判斷模塊發(fā)現(xiàn)藍牙設(shè)備列表中存在缺少對應(yīng)線程的在線藍牙設(shè)備時,將藍牙設(shè)備的mac地址作為線程id為藍牙設(shè)備建立對應(yīng)的線程,并將線程放入線程池中;和/或,用于在判斷模塊發(fā)現(xiàn)線程池中存在缺少對應(yīng)在線藍牙設(shè)備的線程時,從線程池中剔除線程,并與以線程的線程id為mac地址的藍牙設(shè)備重新建立藍牙連接。
26、可選的,藍牙設(shè)備為智能家居設(shè)備。
27、第三方面,本申請實施例提供了一種電子設(shè)備,包括存儲器、至少一個處理器以及存儲在存儲器中并可在處理器上運行的計算機程序,處理器執(zhí)行計算機程序時實現(xiàn)如上述第一方面中任一項所述的方法。
28、第四方面,本申請實施例提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如上述第一方面中任一項所述的方法。
29、第五方面,本申請實施例提供了一種計算機程序產(chǎn)品,當(dāng)計算機程序產(chǎn)品在電子設(shè)備上運行時,使得電子設(shè)備執(zhí)行上述第一方面中任一項所述的方法。
30、本申請中,在基于一個app控制多個藍牙設(shè)備時,可以將藍牙設(shè)備的mac地址作為線程id為其建立對應(yīng)的線程,從而使藍牙設(shè)備的mac地址與其線程id一一對應(yīng),保證了線程id在線程池中的唯一性。并且線程池中各線程之間并行,從而可以在避免頻繁的斷開和重連藍牙操作的同時實現(xiàn)一個app同時控制多個藍牙設(shè)備,有助于更便利地控制藍牙設(shè)備。
1.一種藍牙設(shè)備的多線程控制方法,其特征在于,所述方法基于一個應(yīng)用程序app執(zhí)行,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述基于所述各線程與所述藍牙設(shè)備列表中在線藍牙設(shè)備的對應(yīng)關(guān)系,對所述各藍牙設(shè)備和/或所述各線程進行控制,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述藍牙設(shè)備為智能家居設(shè)備。
5.一種電子設(shè)備,其特征在于,所述電子設(shè)備基于一個應(yīng)用程序app控制一個或多個藍牙設(shè)備,所述電子設(shè)備包括:
6.根據(jù)權(quán)利要求5所述的電子設(shè)備,其特征在于,所述電子設(shè)備還包括:
7.根據(jù)權(quán)利要求6所述的電子設(shè)備,其特征在于,所述控制模塊包括:
8.根據(jù)權(quán)利要求7所述的電子設(shè)備,其特征在于,所述藍牙設(shè)備為智能家居設(shè)備。
9.一種電子設(shè)備,包括存儲器、至少一個處理器以及存儲在所述存儲器中并可在所述處理器上運行的計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)如權(quán)利要求1至4中任一項所述的方法。
10.一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現(xiàn)如權(quán)利要求1至4中任一項所述的方法。