Serial | sync嵌套會死鎖, 外部的sync block會等待內部的sync block完成才結束, 但內部的永遠執行不到 |
GCD_TEST[45149:303] HELLO | |
GCD_TEST[45149:1a03] async: |
|
- | |
Concurrent | 怎麼嵌套都不會死鎖, 因為block沒有順序依賴關係 |
GCD_TEST[45167:303] HELLO | |
GCD_TEST[45167:303] sync: |
|
GCD_TEST[45167:1503] async: |
|
GCD_TEST[45167:1503] sync-async: |
|
GCD_TEST[45167:1a03] async-async: |
|
GCD_TEST[45167:303] sync-sync: |
|
GCD_TEST[45167:1503] sync-async: |
|
- | |
Main | async 和 sync 相同, 都在主線程, 怎麼嵌套都會死鎖, 只用sync也無法執行, 因為main queue一直有任務在執行 |
GCD_TEST[45083:303] HELLO | |
- | |
Global | 系統共用的queue, 效果同Concurrent |
GCD_TEST[45187:303] HELLO | |
GCD_TEST[45187:303] sync: |
|
GCD_TEST[45187:1a03] async: |
|
GCD_TEST[45187:1a03] sync-async: |
|
GCD_TEST[45187:1f03] async-async: |
|
GCD_TEST[45187:303] sync-sync: |
|
GCD_TEST[45187:1a03] sync-async: |
2014年11月19日 星期三
Objective-C 多線程: Grand Central Dispatch(GCD)
2014年8月19日 星期二
javascript function.call()
var a = function(a,b,c){
console.log(this.a);
console.log(this.b);
console.log(this.c);
console.log(a);
console.log(b);
console.log(c);
}
var b = {
a:123,
b:456,
c:789
}
a.call(b,1,2,3)
// output:
// 123
// 456
// 789
// 1
// 2
// 3
a.apply(b,[1,2,3])
// output:
// 123
// 456
// 789
// 1
// 2
// 3
2014年6月13日 星期五
Android 模擬按鍵點擊
Reference:
http://developer.android.com/reference/android/app/Instrumentation.html
Code:
KeyEvent Key Code Mapping:
http://developer.android.com/reference/android/view/KeyEvent.html
http://developer.android.com/reference/android/app/Instrumentation.html
Code:
Instrumentation.sendKeyDownUpSync(key_code);
KeyEvent Key Code Mapping:
http://developer.android.com/reference/android/view/KeyEvent.html
2014年5月3日 星期六
HTML5的觸控事件
訂閱:
文章 (Atom)