-
Notifications
You must be signed in to change notification settings - Fork 10k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Real multithreading in Blazor WebAssembly #17730
Comments
Thanks for contacting us, @BlenderMender. |
Wonder if the actual issue is letting JS be multithreaded and some peoples fear that this will cause some disturbance because threadings.
|
I would dive deep into blazor (without any return) if there would be support for multithreading for client side. Make it happen! |
I've created a small library called BlazorWorker which creates a new dotnet process using web workers. It's very similar to multithreading, main difference being no shared memory, only message passing @BlenderMender @Marcin-Perz I would appreciate your feedback on the API, to see if it's a path worth pursuing in the meantime. |
This is blocked on mono/mono#12453 |
Thumbs up for for proper .NET Tasks and Threads |
Hi, yes please make it happen. Thanks in avance. |
Given the current limitations around browser support we’ve decided to push this work out of .NET 5. |
Good lords. But this is the most expected thing. |
Does this mean we will have to wait 2021 november for threading support? |
Alright: With the current Firefox 79 the Thus, it should be possible for .NET (Mono) to implement threadding, right? |
Seems like again our trust into MS Frameworks is going to be betrayed. Please MS team - do something. Do not kill it before it's born, and do it now, December is going to be awfully late, since the disappointment will start taking space. |
The vast majority of the work for this is in the dotnet/runtime repo. It will ship as a preview feature in .NET 9, which means we encourage people to try it out. In most cases it should work as you expect, though if you encounter issues we'd appreciate if you reported them. The only part of the support that needs to be implemented in this repo is the Since that covers the immediately planned work in this repo, I'm going to close this issue as done. If other multithreading-related work emerges for this repo, we'll file new and smaller issues for those items. |
This is tracking progress on runtime side dotnet/runtime#85592 |
We've discovered additional work that is required to enable multi-threaded runtime for Blazor WebAssembly. it's tracked by #54365 This puts the overall multi-threaded runtime support work for .NET 9 at risk. We're still going to make progress towards it, but it's not clear if we will get all the issues ironed out in time. And we will keep this issue to track the end-to-end experience. |
Just trying to help in offering a potential compromise and use case in case this is a situation where the framework potentially bit off more work than it can chew to deliver in a reasonable amount of time. I feel like a lot of others are in a similar boat. Here is the case: Having read other threads about the troubles with developing this solution and persisting state properly, I'd like to propose this compromise. If there already exists a simple and better way of doing this let me know. |
Hi Eddie, when you have a loading that is going to require much serialization, then to avoid the freeze you could use an animated gif instead of the progress bar of mudblazor. That way you can still have the animation going on... You can't though avoid the navigator prompt that at some point says the process takes too long :( |
@aastovas thanks for the reply. Sorry for not being clear. I know I can use a gif, but to your point, I'd like to not lock up the UI thread and also get messages about the page not being responsive. |
Hello everyone. |
@mkArtakMSFT While unfortunate to hear, I do understand and appreciate the other work going on in the framework. I've truly enjoyed working in this and making apps in it thus far. However, this (and better hot reload/debugging support) is something that is definitely preventing me from just broadly recommending it to people. What's been disheartening to see is how this has been pushed back over and over since .net 5: #17730 (comment) By the time .net 10 potentially comes out and includes this, we're talking about 5 years of this. I've been following this progress since .net 6. What gives us real hope that it will come out in 10? It's been a highly requested feature. I understand there are competing priorities, but is there any level of commitment to actually seeing this through? Can we get this front and center in the roadmap? It's hard to commit heavily to building a large production app on this framework when highly requested things like this keep getting pushed back. I'm not saying anything is owed to us. This is a great free cross platform framework. I just want an understanding of the impact of letting the cat out of the bag before it's ready, but teasing previews over and over is having while moving the goal posts year after year. See again the potential compromise of something we can at least sink our teeth into in the meantime: #17730 (comment) |
Nothing owed, but the customers are always right in the matters of taste, ok maybe we aren't customers but we can be expressing our taste of things |
2030 technical debts are no longer a thing due to automatic software development powered by AI |
if you always this attitude you why blazor needs you? |
Is your feature request related to a problem? Please describe.
I have load of CPU intensive requests connected to vial for the application data from sensors, and I would like to have a real multithreading for multiple sources which streams large amount of data nonstop.
Describe the solution you'd like
Multithreading which is available already in WEBASM to be exposed to Blazor Client side.
The text was updated successfully, but these errors were encountered: