搜索
您的当前位置:首页正文

Swift 3.0 多线程

来源:二三娱乐

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**

Top