Exemple #1
0
        public void Compile()
        {
            if (compiledMethod != null)
            {
                return;
            }

            DynamicMethod generatedMethod = new DynamicMethod(
                "_Compiled_",
                null, Compiler.parameterTypes,
                typeof(Runner).Module,
                true
                );

            generatedMethod.DefineParameter(1, ParameterAttributes.In, "memory");
            generatedMethod.DefineParameter(2, ParameterAttributes.In | ParameterAttributes.Out, "pointer");
            generatedMethod.DefineParameter(3, ParameterAttributes.In, "input");
            generatedMethod.DefineParameter(4, ParameterAttributes.In, "output");
            generatedMethod.DefineParameter(5, ParameterAttributes.In, "canSeek");

            Compiler compiler = new Compiler(this);

            compiler.ILGen = generatedMethod.GetILGenerator();
            compiler.Emit();

            compiledMethod = generatedMethod.CreateDelegate(typeof(RunnerDelegate)) as RunnerDelegate;
        }
Exemple #2
0
        private void StartThreadService()
        {
            //
            ThreadStart runnerThreadStart = new ThreadStart(RunnerThreadLoop);

            _thdRunner       = new Thread(runnerThreadStart);
            _runnerDelegate += new RunnerDelegate(Runner);

            // start worker threads.
            if (_thdRunner.IsAlive == true)
            {
                _thdRunner.Resume();
            }
            else
            {
                _thdRunner.Start();
            }
        }
Exemple #3
0
		private void StartThreadService()
		{
			// 
			ThreadStart runnerThreadStart = new ThreadStart(RunnerThreadLoop);
			_thdRunner = new Thread(runnerThreadStart);
			_runnerDelegate += new RunnerDelegate(Runner);
			
			// start worker threads.
			if ( _thdRunner.IsAlive == true )
			{
				_thdRunner.Resume();
			}
			else
			{
				_thdRunner.Start();
			}
		}