Which resources are shared by threads under the same process

Source: Internet
Author: User
exactly what resources are shared by threads in the same processTransferred from: http://blog.chinaunix.net/uid-12461657-id-3182841.html

Thread-shared environments include the process code snippet, the public data of the process (which leverages the shared data, the threads are easily communicating with each other), the file descriptor that the process opens , the processor of the signal, the current directory of the process, and the process user ID and process group ID.

The process has its own personality as well as its many commonalities. With these personalities, threads can achieve concurrency. These personalities include:

1. Thread ID

Each thread has its own thread ID, which is unique in this process. The process uses this to identify the thread.

2. Value of the Register group

Because the threads are running concurrently, each thread has its own different running threads, and when switching from one thread to another, the state of the Register collection of the original thread must be saved so that the thread can be restored in the future when it is re-switched to.

3. The stack of threads

The stack is necessary to ensure that the thread runs independently. A thread function can call a function, and the called function can be nested in layers, so the thread must have its own stack of functions so that the function call can execute normally, not affected by other threads.

4. Error return code

Since many threads in the same process are running concurrently, it is possible for a thread to set the errno value after a system call, while the thread has not handled the error and another thread is running at this point by the scheduler, so that the error value can be modified. Therefore, different threads should have their own error return code variable.

5. thread's signal Shield code

Because each thread is interested in a different signal, the thread's signal mask should be

Management. But all of the threads share the same signal processor .

6. Priority of Threads

Because the thread needs to be dispatched as if it were a process, there must be a parameter that can be used for scheduling

Number, this parameter is the priority of the thread.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.