2
A
回答
3
是,arc4random
,arc4random_uniform
,arc4random_buf
,arc4random_stir
和arc4random_addrandom
是線程安全的。
您可以在source code中看到這一點,並且也得到了Apple開發人員關係人員的確認(但目前我找不到該鏈接)。
相關問題
- 1. 是否是setlocale線程安全函數?
- 2. PHP函數error_log()是否安全使用?
- 3. 內部函數聲明是否安全?
- 4. 刪除history.back()函數是否安全?
- 5. Python 3的input()函數是否安全?
- 6. PL/SQL函數dbms_lock.sleep是否安全?
- 7. 使用「不安全」線程函數是否安全?
- 8. ConcurrentHashMap是否完全安全?
- 9. C++模板函數是否是線程安全的?
- 10. 列表 - arc4random
- 11. Context.MODE_PRIVATE是否安全?
- 12. const_cast是否安全?
- 13. BrowserID是否安全?
- 14. Locale.setDefault()是否安全?
- 15. Titanium.App.Properties是否安全
- 16. AfxBeginThread是否安全?
- 17. signed_request是否安全?
- 18. PhoneGap是否安全?
- 19. Redux是否安全?
- 20. session_set_cookie_params是否安全?
- 21. 將「太多」參數傳遞給外部函數是否安全?
- 22. 使用函數訪問數據庫值是否安全?
- 23. GSON是否執行安全序列化?
- 24. java.util.Vector序列化是否線程安全?
- 25. 操作系統漏洞是否會影響數據庫安全?
- 26. 序列化和反序列化$ _POST數組是否安全?
- 27. 是否有最大數量的「安全」數據來散列?
- 28. 調用函數來初始化ctor列表中的類是否安全?
- 29. 將nullptr分配給函數指針變量是否安全?
- 30. .NET中的這個函數是否安全共享?
您的線程安全擔憂是什麼?那是不會線程安全的問題呢?字節可能會混合?這將如何導致結果不那麼隨意? – zaph
@zaph:種族情況導致*未定義的行爲*,其中包括各種奇怪的魔法。我能想象的一種情況是兩個線程獲得完全相同的隨機數。如果這是AES-CTR的初始化矢量,那完全破壞安全保證。 –
@zaph如果它不是線程安全的,不僅可以是未定義的行爲,從多個線程同時調用非線程安全的PRNG,但它也可能嚴重擾亂其內部狀態並破壞所有未來結果的隨機性。另外,如果PRNG沒有受到這個影響,它可能仍然會爲同時調用返回相同的結果,例如,這會完全搞亂任何類型的多線程蒙特卡洛近似...(儘管在這種使用中它通常更好有一個單獨的PRNG實例,每個實例的接收方式不同,以避免需要同步。) – Arkku