uses of multithreading in vb.net [closed] - vb.net

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I know that a
Multithreaded processing can simultaneously run multiple procedures. For example, a word processor application can check spelling as a separate task while you continue to work on the document. Because multithreaded applications divide programs into independent tasks, they can substantially improve performance in the following ways:
• Multithreaded techniques can make your program more responsive because the user interface can remain active while other work continues.
• Tasks that are not currently busy can yield processor time to other tasks.
• Tasks that use a lot of processing time can periodically yield to other tasks.
• Tasks can be stopped at any time.
• You can set the priority of individual tasks higher or lower to optimize performance.
But i want to know
when i can use multithreading in vb.net ? any examples or an usual app use it
and what is the different if we use it in desktop apps or web applications
thanks .

I think that multithreading is often used in image processing and can often be done in parallel along with the rendering of an animation also, in GUI programming it often helps to have at least two threads when doing something slow, e.g. processing large number of files.
I thought it was the same in desktop apps and web applications though.

Related

How to decide which type of testing(Manual or automation) required when we get new web application? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
How to decide which type of testing(Manual or automation) required for a project or application to test?
What are the parameters we have to consider to select which type of testing(Manual or automation) to test very new application?
It depends on :-
Size of the project- If the project is large and consist of so many functionalities then automation testing is suggested
How many times you want to test a particular feature- If the requirement is to test regularly then automation test is best
Font size and image- This can not be tested through any automation tool so to test this, one should need to do manual testing
To find bugs- If one needs to find a lot of bugs, Manual testing is suggested.
You shouldn't have to choose between automation testing and manual testing the way you're asking. The way you're asking it gives me the feeling that the product is already waiting to be tested. In this case you would need to resort to manual testing.
Ideally you would want to have both and even more of automation. Some of the questions that you need to ask are:
Is this a new project or an existing one? If it's a new project then it's easier to plan for automation from the start. You could start implementing automation tests from the start. If it's an existing project then you'll need time to set up automation + write scripts etc. Then you have to resort to manual testing initially.
Is there any existing team? If yes, then what are they doing. You need to continue the process instead of suddenly disrupting it for anyone.
How much resources (money+people) do you have? Do you have manual testing resources? Are they busy or do they have bandwidth? How many automation test resources do you have?
What kind of project is it? Who does it go to? Does it have human lives depending upon it? Does it need a legal certificate of some kind for being tested?
There's just too many questions based on how your question is currently stated. I hope that this answers your question when we consider it generally. But if you're looking for a particular answer then please consider adding more context.

How to improve the performance of the package [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I have been asked to improve the package performance without affecting the functionality.How to start with optimisation ?Any suggestions
In order to optimize PL/SQL programs you need to know where they spend time during execution.
Oracle provide two tools for profiling PL/SQL. The first one is DBMS_PROFILER. Running a packaged procedure in a Profiler session gives us a breakdown of each program line executed and how much time was spent on each line. This gives us an indication of where the bottlenecks are: we need to focus on the lines which consume the most time. We can only use this on our own packages but it writes to databases tables so it is easy to use. Find out more.
In 11g Oracle also gave us the Hierarchical Profiler, DBMS_HPROF. This does something similar but it allows us to drill down into the performance of dependencies in other schemas; this can be very useful if your application has lots of schemas. The snag is the Hprofiler writes to files and uses external tables; some places are funny about the database application writing to the OS file system. Anyway, find out more.
Once you have your profiles you know where you need to start tuning. The PL/SQL Guide has a whole chapter on Tuning and Optimization. Check it out.
" without affecting the functionality."
Depending on what bottlenecks you have you may need to rewrite some code. To safely change the internal workings of PL/SQL without affecting the external functionality(same outcome for same input) you need a comprehensive set of unit tests. If you don't have these already you will need to write them first.

Multiple programs on AVR atmega [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I want to make my Atmega robot to operate multiple modes (line following, obstacle avoidance, direct guidance from PC ) How can I load these separated programs on flash and how to select one of them when restarting the robot?
The easiest way is to make one big program with all the functionality of all the modes. On startup, in main() check if certain buttons are pressed, then choose which mode you are going to operate in. Then only use the functions and control mechanisms for that mode from then on. The rest of the code just sits there unused, but it would anyway in any other scheme.
There isn't an easy way to break the code into several different complete programs. For example, the vector table is fixed to be where it is. You would have to have the interrupt handlers check to see which mode is active then call the appropriate function for that mode.

Why would a Scripting language be made 'purposefully Turing non-complete'? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
So, I was reading about Bitcoin Script on their official documentation and found this line: "Script is simple, stack-based, and processed from left to right. It is purposefully not Turing-complete, with no loops." I tried to reason hard but couldn't understand why would someone make a language "purposefully non Turing-complete". What is the reason for this? What happens if a language become Turing Complete?
And extending further, whether "with no loops" has anything to do with the script being non-Turing Complete?
possible reasons:
security: if there is no loops program will always terminate. user can't hang up the interpreter. if, in addition there is a limit on size of the script you can have pretty restrictive time constraints. another example of a language without loops is google queries. if google allowed loops in , users would be able to kill their servers
simplicity: no loops make language much easier to read and write by non-programmers
no need: if there is no business need for it then why bother?
The main reason is because Bitcoin scripts are executed by all miners when processing/validating transactions, and we don't want them to get stuck in an infinite loop.
Another reason is that according to this message from Mike Hearn, Bitcoin script was an afterthought of Satoshi to try to incorporate a few types of transactions he had had in mind. This might explain the fact that it is not so well designed and and has little expressiveness.
Ethereum has a different approach by allowing arbitrary loops but making the user pay for execution steps.

Why thread is required [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 9 years ago.
Improve this question
I am new to a desktop application and seeing that there are threads used everywhere.
I don't understand why we are using it here and not in webapplications.
We can directly call the method instead of threads.
'Threads used everywhere' is probably an ominous sign of problems to come and possibly past incompetence, but the main reason people use multiple threads in desktop applications is to allow long-running things to happen without freezing the user-interface of the application.
A conventional Windows GUI app has a 'main thread' which is responsible for processing messages received from the OS. These messages are used for all mouse/keyboard interaction, so the moment you stop processing them, the application stops responding (after a few seconds of this, Windows itself will grey-out the app and put 'stopped responding' in the title bar.)
To avoid this ugliness, people move activities which take a long time (either because they need a lot of CPU, or because the may be waiting for I/O (disk, network, etc)) onto other threads. This means that the main thread is free to keep pumping messages.
You do not start the main thread explicitly - Windows gives it to you when the app starts.
You need to be very careful about interaction between background threads and the main thread - there are a bunch of rules and restrictions, and failing to follow them will give you the kind of problems which may not show up immediately, consistently or on your machine at all. That doesn't mean they're not there...