1.Origin:
The object pool should be a "historical" concept, such as the thread pool we often say, andAdo. netAll applications in the object pool.
Our applications sometimes encounter the need to use the object pool. Let me give an example. Assume that we need to record a classMyclassEach method is called every time the method is executed, and this class is used in a multi-threaded environment, each method can be executed in multiple threads at the same time, no need to be synchronized. This
. NET Framework provides a set of corresponding diagnosticsProgram, System. Diagnostics. Stopwatch provides a set of attributes and methods for running time measurement.
Stopwatch stopwatch
=
New
Stopwatch ();Stopwatch. Start (); //Some code you need runStop
C # multi-threaded programming Step 2-thread synchronization and thread security,
The previous blog learned how to use multithreading. In fact, General multithreading is really simple, but a safe and efficient multithreading is not that simple. Therefore, improper use of multithreading may affect the program performance.
The following is an example:
Class Program {static int num = 1; static void Main (string [] args) {Stopwatch
Multi-threaded Way with parameters#region to perform multithreading with one parameterThread mythread = new Thread (new Parameterizedthreadstart (Calculate));Mythread. IsBackground = true;Mythread. Start (500);#endregionprivate void Calculate (object Max)//delegate function with one parameter{int max = (int) max;Stopwatch Stopwatch = Stopwatch.startnew ();for (int i = 0; i {Thread.Sleep (5);}
() {BusType = 1, Customerphone = "1888888888", back
Type = 1, Content = "123123DAGVHKFHSDJK is sure to be spoiled by the flourishing of the protection of the class of the high-quality price of the Soviet Union of the Grand opening"};
The first public void Fristway () {using (var conn = new SqlConnection (connstr)) { Conn.
Open ();
Stopwatch SW = new Stopwatc
The self-increment "+ +" and "subtract"--"are unary operators, and both the pre-and post-form can be overloaded. Take a look at the following example:#include #includeusing namespacestd;classstopwatch{//StopwatchPrivate: intMin//minutes intSec//seconds Public: Stopwatch (): Min (0), SEC (0){ } voidSetzero () {min =0; SEC =0; } Stopwatch run (); //RunStopwatchoperator++();//++i, front-facing formSt
milliseconds on this computer), to test the time of each invocation and to compare the speed of the access by a number of times the average time is measured. By testing, you can see how fast they have access to the four: Ipc>tcp>http>web Service. (In fact, the remoting HTTP channel and Web service access speed has yet to be compared, with the test of the host has a certain relationship, in my office, a computer as if the Web service access faster than the HTTP channel), you can test it yourself
delegate and puts it into the dictionary:Private StaticDictionaryNewDictionary(); Public Static ObjectGetpropertyvalueuseexpression(TObject obj, PropertyInfo property) {if(Delegatecache.containskey (property)) {varFunc = (FuncObject>) Delegatecache[property]; returnfunc (obj); } varGetvaluedelegate =Builddynamicgetpropertyvaluedelegate (property); Delegatecache[property]=getvaluedelegate; return(FuncObject>) (getvaluedelegate) (obj);}As simple as that, I wanted to test the performance gap be
nomenclature (uppercamelcase) and small hump-type nomenclature (lowercamelcase). Sometimes, we have more than oneA reasonable way to convert an English phrase into a hump form, such as an abbreviation or an unusual structure (such as "IPv6" or "IOS"). Google SpecifyThe following conversion scenarios.The name begins with the prose form (prose form):1. Convert the phrase to a pure ASCII code and remove any single quotes. For example: "Müller ' s Algorithm" will become "muellersAlgorithm ".2. Divi
, transaction processing, exception handling and other commonly used processing.1. Introduction to the AOP framework1) Introduction to AOP TechnologyAOP technology uses a technique called "crosscutting" that splits the encapsulated object interior and encapsulates public behavior that affects multiple classes into a reusable module, called "Aspect", which is the facet. The so-called "aspect", in a nutshell, is to encapsulate the logic or responsibilit
In some "Small and Medium" applications with relatively high concurrency, if a large amount of data is inserted in the short term, using MSMQ is a good choice (petshop is doing this ), do you want to know how many records can be sent in one second by MSMQ?
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->
1
Using
System;
2
Using
System. diagnostics;
3
Using
System. messaging;
4
Using
System. Collections. Gener
With the advent of the multicore era, parallel development is increasingly demonstrating its power! The use of parallel programs, the full use of system resources, improve the performance of the program. In. NET 4.0, Microsoft has given us a new namespace: System.Threading.Tasks. There are a lot of things about parallel development, and today the first one introduces the most basic, simplest--to recognize and use parallel.First, the use of parallelBelow parallel there are three common methods In
model matrix.
The decompose (translate, rotation, scale) function splits the matrix object into three objects, which is the opposite of the previous function.The extractPosition (m) and extractRotation (m) functions extract the components in the matrix object m that indicate the position or rotation to the caller object. For example, two objects undergo multiple and different transformations, only the Model View matrix of one object extractRotation M
assigned to it, and then add the calculation results of each CPU again, so that the sum of all n integers can be obtained: type Vector []float64//Compute task Func assigned to each CPU (v Vector) Dosome (i, n int, u Vector, C Chan int) {for; i Signal to the mission manager. I've done my calculations.}const NCPU = 16Assuming there's a total of 16 coresFunc (v vector) doall (U vector) {c: = make (chan int, ncpu)//To receive the task completion signal for each CPUFor I: = 0; i Go V.dosome (I*len (
Mini-project description-"Stopwatch:the Game"Our mini-project for this week would focus on combining text drawing in the canvas with timers to build a simple digital st Opwatch that keeps track of the time in tenths of a second. The stopwatch should contain "Start", "Stop" and "Reset" buttons. Through this project, we suggest the download the provided program template for this mini- Project and build your stopwatc
). The Code has been sorted out and has been written into a dynamic link library by VC, which can be called by VB and VC. Of course, it is better to rewrite it into a class to be used in VC.
The Linked Library has three functions: 1. Use the getfreq () function to obtain the CPU clock speed; 2. Use the asmdelay () function to obtain the precise latency; 3. Use stopwatchbegin () function to enable stopwatch (stopw
Static
Void Main (
String [] ARGs)
{
Int [] Arr =
New
Int [
1000 ];
For (
Int I =
0 ; I {
Arr [I] = I;
}
// Sequential foreach Int B = 0 ;Stopwatch stopwatch = New Stopwatch ();Stopwatch. Start (); Foreach ( VaR X In ARR){B = B + X;System. Threading. thread. Sleep ( 1 ); // Console. writeline (X );
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.