Skip to content
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

Blocking functions affecting main thread #59

Open
2 of 4 tasks
layters opened this issue Jan 23, 2023 · 0 comments
Open
2 of 4 tasks

Blocking functions affecting main thread #59

layters opened this issue Jan 23, 2023 · 0 comments
Labels
⬆️ high priority High priority issues good first issue Good for newcomers multiple tasks This issue consists of multiple tasks 🆘 help wanted Extra attention is needed

Comments

@layters
Copy link
Owner

layters commented Jan 23, 2023

Details

I need to run certain codes in separate threads without blocking or waiting for the main thread (which causes the GUI to freeze and become unresponsive). And for this task, I need someone who is highly experienced in multi-threading/concurrent and asynchronous programming.
The goal is to make the application as responsive as possible without blocking the GUI.

The things that need to be ran in a separate thread include: the currency conversion, database read and write operations (via INSERT, UPDATE, etc.), and others ...

Here is a complete list of things that need async so that the GUI is not blocked (Not sure if detaching threads is the right way to do it though it works):

  • currency conversion
  • wallet transfer function
  • wallet_controller getTransfers function (monero_wallet_full::get_transfers)
  • any or all functions that perform reads from and writes to the SQLite database, especially the loginWith* and getListings* functions
    - [ ] getMoneroNodeList function

Note: If this task is possible to do in plain C++17 then use that instead of Qt. I don't want to depend too much on Qt for everything - I only need Qt for the GUI not the backend/CLI

@layters layters changed the title Multi-threading certain functions that block main thread Multi-threading/Asynchronous solutions to prevent certain functions from blocking main thread Jan 23, 2023
@layters layters added 🆘 help wanted Extra attention is needed good first issue Good for newcomers 💰 bounty Get paid by completing a task ⬆️ high priority High priority issues labels Jan 27, 2023
@layters layters changed the title Multi-threading/Asynchronous solutions to prevent certain functions from blocking main thread Multi-threading/Asynchronous/Concurrency solutions to prevent certain functions from blocking main thread Feb 4, 2023
@layters layters pinned this issue Feb 5, 2023
@layters layters changed the title Multi-threading/Asynchronous/Concurrency solutions to prevent certain functions from blocking main thread Multithreading, Asynchronous, and Concurrent solutions to prevent certain functions from blocking main thread Feb 5, 2023
@layters layters changed the title Multithreading, Asynchronous, and Concurrent solutions to prevent certain functions from blocking main thread Multithreading/Concurrent and Asynchronous solutions to prevent certain functions from blocking main thread Feb 10, 2023
@layters layters added the multiple tasks This issue consists of multiple tasks label Feb 13, 2023
@layters layters removed the 💰 bounty Get paid by completing a task label Feb 24, 2023
@layters layters unpinned this issue Apr 5, 2023
@layters layters changed the title Multithreading/Concurrent and Asynchronous solutions to prevent certain functions from blocking main thread Blocking functions in main thread Apr 25, 2024
@layters layters changed the title Blocking functions in main thread Blocking functions affecting main thread Apr 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⬆️ high priority High priority issues good first issue Good for newcomers multiple tasks This issue consists of multiple tasks 🆘 help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant