背景:項目測試的過程中發現程序進入了死循環,追查原因發現是因爲創建工作線程的失敗的時候沒有釋放資源引起的,經過陶工的提醒,測試了一下,發現程序在執行到創建了255次工作線程之後必然失敗。這讓我覺得很奇怪,因爲每次線程創建完,版本加載之後,線程都會返回的,爲什麼會失敗了呢,查看創建失敗的錯誤碼是11(EAGAIN)。後面上網查了一下資料,發現可能是創建工作線程設置的屬性不對,我才用的是默認值,那麼創建的工作線程不能自己回收資源,需要使用pthread_join函數才能回收資源。
背景:項目測試的過程中發現程序進入了死循環,追查原因發現是因爲創建工作線程的失敗的時候沒有釋放資源引起的,經過陶工的提醒,測試了一下,發現程序在執行到創建了255次工作線程之後必然失敗。這讓我覺得很奇怪,因爲每次線程創建完,版本加載之後,線程都會返回的,爲什麼會失敗了呢,查看創建失敗的錯誤碼是11(EAGAIN)。後面上網查了一下資料,發現可能是創建工作線程設置的屬性不對,我才用的是默認值,那麼創建的工作線程不能自己回收資源,需要使用pthread_join函數才能回收資源。
/* * Copyright (c) 2012, 煙臺大學計算機學院 * All rights reserved. * 文件名稱:test.
login:vagrant password:vagrant 卸載舊版本docker: sudo yum remove docker \ docker-client \