我有一個delphi(Win32)web應用程序,可以作爲CGI應用程序,ISAPI或Apache DLL運行。我希望能夠生成一個唯一的文件名前綴(對於給定時刻的所有當前請求都是唯一的),並且指出最好的方法是使用processID(處理CGI模式)以及threadID(處理DLL模式)。我可以根據ProcessID和ThreadID創建唯一的文件名嗎?
如何在Delphi中獲得唯一的進程ID和線程ID?
這些在多核/多處理器情況下(在單個網絡服務器計算機上)會是唯一的嗎?
編輯:請注意,我被告知反對這種做法,並因此接受的答案使用不同的方法來生成臨時文件名
「唯一在給定時刻當前所有的請求」 - 進程ID中重複使用就可以了,因爲這個文件只將存在於一個請求的生命中。但我想確定的是,在多核系統中,它們在特定時刻將是唯一的。並且,添加線程ID將佔多線程 – Graza 2008-11-07 17:18:27
這意味着文件是臨時的(至少它似乎),在這種情況下,我只會使用tmpfile或其Delphic等效。 – grieve 2008-11-07 22:42:07