Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

For me

[Server] Thread Local Storage 본문

Server/Study

[Server] Thread Local Storage

GiveZero 2023. 4. 26. 22:35
using System;
using System.Threading.Channels;
using System.Threading.Tasks;

namespace ServerCore
{
    class Program
    {
        private static ThreadLocal<string> ThreadName = new ThreadLocal<string>(() =>
        {
            return $"My Name is {Thread.CurrentThread.ManagedThreadId}";
        });

        static void Thread1()
        {
            bool repeat = ThreadName.IsValueCreated;
            
            if (repeat)
            {
                Console.WriteLine(ThreadName.Value + "(repeat)"); 
            }
            else
            {
                Console.WriteLine(ThreadName.Value); 
            }
            

        }
        
        static void Main(string[] args)
        {
            ThreadPool.SetMinThreads(1, 1);
            ThreadPool.SetMaxThreads(3, 3);
            Parallel.Invoke(Thread1,Thread1,Thread1,Thread1,Thread1);
            
            ThreadName.Dispose();
        }
    }
}

각 쓰레드마다 접근하면 자신만의 공간에서만 저장

'Server > Study' 카테고리의 다른 글

[Server] Socket - Listener 분리  (0) 2023.05.01
[Server] Socket  (0) 2023.05.01
[Server] ReaderWriterLock  (0) 2023.04.26
[Server] AutoResetEvent  (0) 2023.04.26
[Server] Context Switching  (0) 2023.04.26