I have a data intensive Cappuccino application that can take up to 30 seconds to run a 'job' An example might be to combine values from a number of arrays to produce a further array for use in a TableView. I would like to include an animated progress bar when this will take more than a second or 2, but I seem to block the primary(main) thread so no activity is visible. i.e. console messages and display updates all wait until the job is complete. Is is possible to run such a job on a background thread so that the main application, including a progress bar, can update and display during the process?
How to multi-thread in Cappuccino
85 Views Asked by David Bewick At
1
There are 1 best solutions below
Related Questions in MULTITHREADING
- How can I outsource worker processes within a for loop?
- OpenMP & oneTbb difference
- Receiving Notifications for Individual Task Completion OmniThreadLibrary Parallel.ForEach
- C++ error: no matching member function for call to 'enqueue' futures.emplace_back(TP.enqueue(sum_plus_one, x, &M));
- How can I create a thread in Haskell that will restart if it gets killed due to any reason?
- Qt: running callback in the main thread from the worker thread
- Using `static` on a AVX2 counter function increases performance ~10x in MT environment without any change in Compiler optimizations
- Heap sort with multithreading
- windows multithreading CreateMutex
- The problem of "fine-grained locks and two-phase locking algorithm"
- OpenMP multi-threading not working if OpenMPI set to use one or two MPI processor
- WPF Windows Initializing is locking the separated thread in .Net 8
- TCP Client Losing Connection When Writing Data
- vc++ thread constructor throwing compiler error c2672
- ASP.NET Core 6 Web API : best way to pause before resending email
Related Questions in CAPPUCCINO
- How do I make this code KVO compliant?
- Setting CPView frame so that it encases drawn rect
- Issue in Cappuccino framework in Xcode
- How to center a CPWindow in Cappuccino
- Transition from iOS only support to iOS + Android + web
- Adding a delete button to a CPTableView column in Cappuccino
- Resize handlers on Cappuccino
- JSON.parse not evaluating JSON strings properly
- How to draw text in Cappuccino
- CPRangeException thrown when objects added to an CPArray
- Connecting / Linking CIB files to a regular application template in cappuccino
- How do I setup the development environment for cappuccino on windows 7
- Disabling a view in cappuccino
- Installing Cappuccino (Objective J)
- Adding a cappuccino CPProgressIndicator with Xcode 4
Related Questions in OBJECTIVE-J
- How do I make this code KVO compliant?
- how to iterate literal dictionary in cappucino objective-j
- Using Parse Javascript SDK in Objective J Cappuccino Project
- Heroku fails to load resources for Cappuccino app (Nodejs)
- CPDatePicker - open at dateValue not today's month
- How to multi-thread in Cappuccino
- Native JavaScript code in Objective-J
- CPToolbar renders in the CPBorderlessBridgeWindowMask window only
- autoconf: command not found Installing Cappuccino (Objective J)
- Setting CPView frame so that it encases drawn rect
- Adding multiple Cib / Xib files in Cappuccino
- Change value in array controller by typing in table view cell
- Cappuccino - CPSplitView fixed subviews' size
- Resize content of CPScrollView
- Page resizing using cappuccino
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Javascript doesn't have threads or shared memory. You can execute your code in parallel using the webworker API. The general problem with web workers is that the code that is run in the worker must be in a separate file.
Luckily someone has already created a nice wrapper for it which will create a data blob from a string of code and use that as the file for the worker. You'll then want to pass your data to that new worker, and let it run.
You can occasionally call postMessage() from your worker which you can use to update a progress indicator.
https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/basic_usage