Loading data in the background?

3 visualizaciones (últimos 30 días)
Sean
Sean el 6 de Ag. de 2012
I have a set of code that does the following:
  1. Load a set of data
  2. Display the data
  3. Wait for the operator to make a judgement on the data.
  4. Record the user's judgement
  5. Repeat steps 1-4 for the next set of data (hundreds of datasets).
I have found that it takes about 5-10 seconds to load each dataset, and about 10-15 seconds for the user to make the judgement call. Unfortunately, the user is sitting idle while waiting for the data to load between sets.
Does anyone know how to load a .mat file in the background so that the next dataset can be loading while the user is in the process of making his/her judgement?
Thanks in advance.
  5 comentarios
Sean
Sean el 7 de Ag. de 2012
Editada: Sean el 7 de Ag. de 2012
It looks like I may have run into a fundamental limitation of matlab. :(
The data that I am using is displayed to the user as changing over time (which requires matlab to be actively updating the gui continuously). Since the load function cannot be interrupted or loaded in a separate thread, I guess I just have to live with the load time wait between data segments.
Thanks for considering my problem.
per isakson
per isakson el 7 de Ag. de 2012
AFAIK: it's in the Parallel Toolbox

Iniciar sesión para comentar.

Respuestas (1)

Jan
Jan el 19 de Ag. de 2012
TIMER objects seem to run in an own thread. Therefore you could load the data in a TIMER callback. But as usual for parallel programming, you have to be smart to avoid collisions between read and write access to the data.
  2 comentarios
Sean
Sean el 20 de Ag. de 2012
I have tried implementing a bit of test code to check on the idea that an independent timer could load the data in parallel, but the main code and the timer that I use to scroll through the current data both stop during the load (and continue after load completion).
Maybe I'm missing something, but it doesn't seem like putting the load in a timer callback causes it to run in an independent thread. Is this supposed to be default behavior, or is there something that needs to be set to make it behave this way?
Sean de Wolski
Sean de Wolski el 20 de Ag. de 2012
I had the same thing happen when using the timer.

Iniciar sesión para comentar.

Categorías

Más información sobre Workspace Variables and MAT-Files en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by