成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPhone開發(fā)之守護進程和前臺進程之間通信原理

移動開發(fā) iOS
本文介紹的是iPhone開發(fā)之守護進程和前臺進程之間的通信,主要講述的是進程之間的通信,先來看詳細內(nèi)容。

iPhone開發(fā)之守護進程和前臺進程之間的通信是本文要介紹的內(nèi)容,當(dāng)我們創(chuàng)建基于mobilesubstrate的應(yīng)用時,通常都是一些前后臺程序,典型的比如蘋果皮等,這個需要前臺程序法信息到后臺進程中,這里有兩種方式

一種是基于文件的模式

也就是在后臺程序中設(shè)定一個定時器,定時讀取用戶交互信息的文件,這樣實現(xiàn)的通信機制,雖然也解決了問題,但是,缺陷是需要一直跑一個定時器來查詢前臺是否傳遞信息過來了

還有一種是使用CFMessagePortRef

典型的如下模式:

  1. #define APP_ID "yohunl.support.mach.port"  
  2. #define MACH_PORT_NAME APP_ID 

在后臺進程中創(chuàng)建一個用于進程通訊的 CFMessagePortRef

  1. CFMessagePortRef local = CFMessagePortCreateLocal(kCFAllocatorDefault, 
  2. CFSTR(MACH_PORT_NAME), mouseCallBack, NULL, NULL);  
  3.   CFRunLoopSourceRef source = CFMessagePortCreateRunLoopSource(kCFAllocatorDefault, local, 0);  
  4. CFRunLoopAddSource(CFRunLoopGetCurrent(), source, kCFRunLoopCommonModes); 

其中的mouseCallback是回調(diào)函數(shù),其聲明是

  1. CFDataRef mouseCallBack(CFMessagePortRef local, SInt32 msgid, CFDataRef cfData, void *info); 

在前臺進程中使用發(fā)送消息的模式

  1. CFMessagePortRef bRemote = CFMessagePortCreateRemote(kCFAllocatorDefault, CFSTR(MACH_PORT_NAME));  
  2. // tell thread b to print his name  
  3. char message[255]="lingdaiping,yohunl";  
  4. CFDataRef data;  
  5. data = CFDataCreate(NULL, (UInt8 *)message, strlen(message)+1);  
  6. (void)CFMessagePortSendRequest(bRemote, CFSTR(MACH_PORT_NAME), data, 0.0, 0.0, NULL, NULL);  
  7. CFRelease(data);  
  8. CFRelease(bRemote); 

還有一種信號量的機制,本人也還沒研究,但是看見過別的程序中有使用過,應(yīng)該也是可以的!

小結(jié):iPhone開發(fā)之守護進程和前臺進程之間的通信的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)對你有所幫助!

責(zé)任編輯:zhaolei 來源: 網(wǎng)絡(luò)轉(zhuǎn)載
相關(guān)推薦

2021-02-14 21:05:05

通信消息系統(tǒng)

2023-05-10 07:53:08

.Net開發(fā)多進程通信方式

2016-12-30 14:56:06

Native進程Trace

2019-11-08 14:47:49

TCPIP網(wǎng)絡(luò)

2021-07-15 12:44:25

Shell編程進程

2019-07-09 10:31:51

面試通信進程

2018-07-06 14:00:55

Linux進程線程

2010-06-28 14:52:30

cron進程

2024-01-05 08:41:31

進程間通信IPC異步通信

2021-07-06 21:30:06

Linux進程通信

2020-04-29 15:10:16

Linux命令進程

2025-05-29 08:10:00

Linux進程系統(tǒng)

2010-03-02 16:37:53

Linux Quagg

2017-08-06 00:05:18

進程通信開發(fā)

2021-09-30 10:45:33

Linux進程通信

2018-05-31 10:57:31

Linux系統(tǒng)進程線程

2011-06-22 17:27:19

QT 進程通信

2011-08-24 10:45:23

Oracle數(shù)據(jù)庫進程從屬進程

2009-11-24 11:35:59

2010-07-15 15:54:10

Perl守護進程
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日韩精品视频在线观看一区二区三区 | 久久精品在线播放 | 欧美一区二区三区在线播放 | 欧美亚洲在线视频 | 国产视频福利一区 | 成人国产午夜在线观看 | av在线免费看网址 | avtt国产 | 天天射天天干 | 精品无码三级在线观看视频 | 男女网站免费 | 国产九九精品 | 精品二区| 97成人免费 | 蜜桃精品噜噜噜成人av | 国产一级特黄真人毛片 | 成人久草| 欧美精品久久久 | 午夜av成人 | 久久久久久av | 日韩免费在线观看视频 | 91视频在线观看 | 成年人网站免费视频 | 色男人的天堂 | 日韩α片| 特黄色一级毛片 | 日日做夜夜爽毛片麻豆 | 黄色三级免费网站 | 可以在线观看av的网站 | 国产视频不卡一区 | 欧美日韩国产一区二区三区 | 久久青视频 | 一区二区久久 | 国产精品亚洲精品久久 | 色婷婷一区 | 一区二区三区视频 | 日韩在线观看中文字幕 | 黄色一级电影在线观看 | 久久精品一区二区 | 成人性视频在线 | 中文字幕乱码一区二区三区 |