我想向您咨询的平台是Linux。 我所说的线程本地存储是gcc中的或<__thread>。
我想在我的程序中使用相关内容,例如makecontext、swapcontext等。所以我的问题是,它如何与线程本地存储一起工作?更具体地说,如果我使用swapcontext或setcontext切换到另一个fiber,那么线程本地存储是否也会改变,或者线程本地存储不是上下文的一部分?
另一个问题:如果TLS将被/更改,则是否有任何东西将粘附到线程上,无论我如何更改上下文?另一方面,如果TLS将粘附到上下文中,则是否有任何东西将粘附到线程上,并且不会被setcontext/swapcontext更改?
根据http://en.wikipedia.org/wiki/Fiber_(computer_science),Windows平台确实具有线程本地存储和纤程本地存储。
我想在我的程序中使用相关内容,例如makecontext、swapcontext等。所以我的问题是,它如何与线程本地存储一起工作?更具体地说,如果我使用swapcontext或setcontext切换到另一个fiber,那么线程本地存储是否也会改变,或者线程本地存储不是上下文的一部分?
另一个问题:如果TLS将被/更改,则是否有任何东西将粘附到线程上,无论我如何更改上下文?另一方面,如果TLS将粘附到上下文中,则是否有任何东西将粘附到线程上,并且不会被setcontext/swapcontext更改?
根据http://en.wikipedia.org/wiki/Fiber_(computer_science),Windows平台确实具有线程本地存储和纤程本地存储。