Is ArrayPool.Rent(Int32) Method thread-safe?
I just found out about ArrayPool existence, but it's documentation is somewhat lacking.
I'd like to know if Rent(.) and Return(.) are thread-safe.
Edit: looks like I didn't notice the "Thread Safety" part of documentation; but reading some of the comments and answers I was relieved I wasn't the only one that didn't.
c# .net-core thread-safety
add a comment |
I just found out about ArrayPool existence, but it's documentation is somewhat lacking.
I'd like to know if Rent(.) and Return(.) are thread-safe.
Edit: looks like I didn't notice the "Thread Safety" part of documentation; but reading some of the comments and answers I was relieved I wasn't the only one that didn't.
c# .net-core thread-safety
add a comment |
I just found out about ArrayPool existence, but it's documentation is somewhat lacking.
I'd like to know if Rent(.) and Return(.) are thread-safe.
Edit: looks like I didn't notice the "Thread Safety" part of documentation; but reading some of the comments and answers I was relieved I wasn't the only one that didn't.
c# .net-core thread-safety
I just found out about ArrayPool existence, but it's documentation is somewhat lacking.
I'd like to know if Rent(.) and Return(.) are thread-safe.
Edit: looks like I didn't notice the "Thread Safety" part of documentation; but reading some of the comments and answers I was relieved I wasn't the only one that didn't.
c# .net-core thread-safety
c# .net-core thread-safety
edited Nov 13 '18 at 4:55
Trauer
asked Nov 13 '18 at 3:15
TrauerTrauer
9901822
9901822
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
Update Comment from ta.speot.is
It literally says on
Thread safety This
class is thread-safe. All members may be used by multiple threads
concurrently
Original
It doesn't say it on docs.microsoft.com, however there is a few references to the fact it is
Add a new System.Buffers namespace to the BCL for Resource Pooling
The Pool will be lightweight and thread-safe, allowing for fast Rent
and Return calls from any thread within the process, along with
minimal locking overhead, and 0 heap allocations on most Rent calls
(exceptions to this will be called out below in the description of the
Rent function).
Pooling large arrays with ArrayPool
Recommended: use the ArrayPool.Shared property, which returns a
shared pool instance. It’s thread safe and all you need to remember is
that it has a default max array length, equal to 2^20 (1024*1024 = 1
048 576).
.
1
It doesn't say it on docs.microsoft.com It literally says on docs.microsoft.com/en-us/dotnet/api/system.buffers.arraypool-1 This class is thread-safe. All members may be used by multiple threads concurrently.
– ta.speot.is
Nov 13 '18 at 3:31
@ta.speot.is ahh so it does
– TheGeneral
Nov 13 '18 at 3:32
1
@ta.speot.is updated and attributed
– TheGeneral
Nov 13 '18 at 3:34
add a comment |
it's documentation is somewhat lacking.
You can read about thread safety under Thread Safety:
Thread Safety
This class is thread-safe. All members may be used by multiple threads concurrently.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53273277%2fis-arraypoolt-rentint32-method-thread-safe%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Update Comment from ta.speot.is
It literally says on
Thread safety This
class is thread-safe. All members may be used by multiple threads
concurrently
Original
It doesn't say it on docs.microsoft.com, however there is a few references to the fact it is
Add a new System.Buffers namespace to the BCL for Resource Pooling
The Pool will be lightweight and thread-safe, allowing for fast Rent
and Return calls from any thread within the process, along with
minimal locking overhead, and 0 heap allocations on most Rent calls
(exceptions to this will be called out below in the description of the
Rent function).
Pooling large arrays with ArrayPool
Recommended: use the ArrayPool.Shared property, which returns a
shared pool instance. It’s thread safe and all you need to remember is
that it has a default max array length, equal to 2^20 (1024*1024 = 1
048 576).
.
1
It doesn't say it on docs.microsoft.com It literally says on docs.microsoft.com/en-us/dotnet/api/system.buffers.arraypool-1 This class is thread-safe. All members may be used by multiple threads concurrently.
– ta.speot.is
Nov 13 '18 at 3:31
@ta.speot.is ahh so it does
– TheGeneral
Nov 13 '18 at 3:32
1
@ta.speot.is updated and attributed
– TheGeneral
Nov 13 '18 at 3:34
add a comment |
Update Comment from ta.speot.is
It literally says on
Thread safety This
class is thread-safe. All members may be used by multiple threads
concurrently
Original
It doesn't say it on docs.microsoft.com, however there is a few references to the fact it is
Add a new System.Buffers namespace to the BCL for Resource Pooling
The Pool will be lightweight and thread-safe, allowing for fast Rent
and Return calls from any thread within the process, along with
minimal locking overhead, and 0 heap allocations on most Rent calls
(exceptions to this will be called out below in the description of the
Rent function).
Pooling large arrays with ArrayPool
Recommended: use the ArrayPool.Shared property, which returns a
shared pool instance. It’s thread safe and all you need to remember is
that it has a default max array length, equal to 2^20 (1024*1024 = 1
048 576).
.
1
It doesn't say it on docs.microsoft.com It literally says on docs.microsoft.com/en-us/dotnet/api/system.buffers.arraypool-1 This class is thread-safe. All members may be used by multiple threads concurrently.
– ta.speot.is
Nov 13 '18 at 3:31
@ta.speot.is ahh so it does
– TheGeneral
Nov 13 '18 at 3:32
1
@ta.speot.is updated and attributed
– TheGeneral
Nov 13 '18 at 3:34
add a comment |
Update Comment from ta.speot.is
It literally says on
Thread safety This
class is thread-safe. All members may be used by multiple threads
concurrently
Original
It doesn't say it on docs.microsoft.com, however there is a few references to the fact it is
Add a new System.Buffers namespace to the BCL for Resource Pooling
The Pool will be lightweight and thread-safe, allowing for fast Rent
and Return calls from any thread within the process, along with
minimal locking overhead, and 0 heap allocations on most Rent calls
(exceptions to this will be called out below in the description of the
Rent function).
Pooling large arrays with ArrayPool
Recommended: use the ArrayPool.Shared property, which returns a
shared pool instance. It’s thread safe and all you need to remember is
that it has a default max array length, equal to 2^20 (1024*1024 = 1
048 576).
.
Update Comment from ta.speot.is
It literally says on
Thread safety This
class is thread-safe. All members may be used by multiple threads
concurrently
Original
It doesn't say it on docs.microsoft.com, however there is a few references to the fact it is
Add a new System.Buffers namespace to the BCL for Resource Pooling
The Pool will be lightweight and thread-safe, allowing for fast Rent
and Return calls from any thread within the process, along with
minimal locking overhead, and 0 heap allocations on most Rent calls
(exceptions to this will be called out below in the description of the
Rent function).
Pooling large arrays with ArrayPool
Recommended: use the ArrayPool.Shared property, which returns a
shared pool instance. It’s thread safe and all you need to remember is
that it has a default max array length, equal to 2^20 (1024*1024 = 1
048 576).
.
edited Nov 13 '18 at 3:33
answered Nov 13 '18 at 3:28
TheGeneralTheGeneral
28k63365
28k63365
1
It doesn't say it on docs.microsoft.com It literally says on docs.microsoft.com/en-us/dotnet/api/system.buffers.arraypool-1 This class is thread-safe. All members may be used by multiple threads concurrently.
– ta.speot.is
Nov 13 '18 at 3:31
@ta.speot.is ahh so it does
– TheGeneral
Nov 13 '18 at 3:32
1
@ta.speot.is updated and attributed
– TheGeneral
Nov 13 '18 at 3:34
add a comment |
1
It doesn't say it on docs.microsoft.com It literally says on docs.microsoft.com/en-us/dotnet/api/system.buffers.arraypool-1 This class is thread-safe. All members may be used by multiple threads concurrently.
– ta.speot.is
Nov 13 '18 at 3:31
@ta.speot.is ahh so it does
– TheGeneral
Nov 13 '18 at 3:32
1
@ta.speot.is updated and attributed
– TheGeneral
Nov 13 '18 at 3:34
1
1
It doesn't say it on docs.microsoft.com It literally says on docs.microsoft.com/en-us/dotnet/api/system.buffers.arraypool-1 This class is thread-safe. All members may be used by multiple threads concurrently.
– ta.speot.is
Nov 13 '18 at 3:31
It doesn't say it on docs.microsoft.com It literally says on docs.microsoft.com/en-us/dotnet/api/system.buffers.arraypool-1 This class is thread-safe. All members may be used by multiple threads concurrently.
– ta.speot.is
Nov 13 '18 at 3:31
@ta.speot.is ahh so it does
– TheGeneral
Nov 13 '18 at 3:32
@ta.speot.is ahh so it does
– TheGeneral
Nov 13 '18 at 3:32
1
1
@ta.speot.is updated and attributed
– TheGeneral
Nov 13 '18 at 3:34
@ta.speot.is updated and attributed
– TheGeneral
Nov 13 '18 at 3:34
add a comment |
it's documentation is somewhat lacking.
You can read about thread safety under Thread Safety:
Thread Safety
This class is thread-safe. All members may be used by multiple threads concurrently.
add a comment |
it's documentation is somewhat lacking.
You can read about thread safety under Thread Safety:
Thread Safety
This class is thread-safe. All members may be used by multiple threads concurrently.
add a comment |
it's documentation is somewhat lacking.
You can read about thread safety under Thread Safety:
Thread Safety
This class is thread-safe. All members may be used by multiple threads concurrently.
it's documentation is somewhat lacking.
You can read about thread safety under Thread Safety:
Thread Safety
This class is thread-safe. All members may be used by multiple threads concurrently.
answered Nov 13 '18 at 3:31
ta.speot.ista.speot.is
23.3k75186
23.3k75186
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53273277%2fis-arraypoolt-rentint32-method-thread-safe%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown