GCD
//1
DispatchQueue.main.async {
print("123")
}
//2
DispatchQueue.global().sync {
print(123)
}
//3
DispatchQueue.main.sync {
print("123")
}
- 第三种由于造成死锁,会报错.
pthread
pthread_mutex_init
该函数用于C函数的多线程编程中,互斥锁的初始化。
- pthread_mutex_init()函数是以动态方式创建互斥锁的。
- pthread_mutexattr_init()函数成功完成之后会返回零,其他任何返回值都表示出现了错误。
- 函数成功执行后,互斥锁被初始化为未锁住态。
pthread_mutex_lock
如果线程调用该函数让互斥锁上锁,则此互斥锁的线程即被堵塞直到解锁.
pthread_mutex_unlock
pthread_mutex_destroy
此锁拥有者销毁的时候此函数返回为0.
条件变量##
** pthread_cond_init**
初始化条件变量
** pthread_cond_wait**
条件等待
** pthread_cond_timewait**
计时等待
** pthread_cond_signal**