码迷,mamicode.com
首页 > 其他好文 > 详细

005-Thread

时间:2018-04-27 02:46:44      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:deadlock   start   互斥锁   The   线程   同步   att   moni   temp   

    主线程的特性 : 只有当所有子线程执行完毕后,主线程才会关闭
    守护(主)线程(daemonic=True) : 一旦主线程关闭,即使子线程仍在执行,也会立刻停止 (start()前设置)
    线程同步 : thread_a.join() --> 确保线程 thread_a 执行结束后,再执行其他线程 (start()后设置)
    1. 同步锁(互斥锁) : lock = threading.Lock(),lock.acquire(),lock.release()
        a. A lock is not owned by the thread that locked it; another thread may unlock it.  A thread attempting to lock a lock that it has already locked will block until another thread unlocks it.  Deadlocks may ensue.
    2. 原本线程的执行顺序是无序的,但是使用线程同步(join)后,执行顺序就是有序的(从上到下执行)
        a. 使用同步锁还是无序的
    3. 死锁 : (前提:) 所有线程都要抢锁,当一个暂时拿到锁的线程没有按时释放锁,其他线程一直等待的过程就是死锁。【 并不是只有占用锁的线程才可以释放锁,即使不抢锁的线程(方法内没有 lock.acquire()),也可以释放锁,这样就不会出现死锁 】
    4. 同一个线程只能启动一次,所以不能放在循环里 start()

 

005-Thread

标签:deadlock   start   互斥锁   The   线程   同步   att   moni   temp   

原文地址:https://www.cnblogs.com/hhj-study-10years/p/8955599.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!