2011-08-21 60 views
1

所以我鑄造了boost::lexical_cast<std::string>(boost::this_thread::get_id())這個線程id到字符串。現在我想知道是否有可能將它變回thread :: id?如何從字符串轉換Boost :: thread :: id?

+1

你試過了嗎? –

+0

@JackOfAllTrades:我的ID到字符串?是的[這裏](http://code.google.com/p/cloudobserver/source/detail?r=1443),而且,你知道,它會加速很多事情! (10%)(迭代通過字符串映射而不是通過線程:: id映射)。但在此之後,您可能會發現您可能只需要一件事 - 中斷只能以字符串形式訪問的線程鏈接...並調用 - >中斷您需要真正的線程:: id - 不是字符串。 – Rella

回答

1

既然你提到調用 - >打斷我認爲你需要的線程對象,沒有了boost ::線程:ID對象。

你最好的選擇可能是在產生線程時創建一個字符串 - boost :: thread對象的映射。

1

我想你可以使用'boost :: lexical_cast'來將一個字符串轉換爲int/short/the_type_you_want。它應該是這樣的:

boost::lexical_cast<int>(string_of_thread_id); 
+0

那麼..以及如何將它喂進新的boost :: thread :: id對象? – Rella

相關問題