[Mono-list] Multithreaded output : bug or feature
Yury Serdyuk
Yury at serdyuk.botik.ru
Thu Apr 24 09:37:15 EDT 2008
Yury Serdyuk wrote:
> Hi !
>
> I have tried the following program:
>
> using System;
> using System.Threading;
>
> public class MultiThreadedOutput {
>
> public static void Main ( String[] args ) {
>
> int P = Convert.ToInt32 ( args [ 0 ] );
> for ( int i = 0; i < P; i++ ) {
> ThreadObject tobj = new ThreadObject ( i );
> Thread t = new Thread ( new ThreadStart ( tobj.Run ) );
> t.Start ();
> }
>
> Console.ReadKey ();
>
> }
>
> }
>
> public class ThreadObject {
>
> private int myNumber;
>
> public ThreadObject ( int i ) {
>
> myNumber = i;
>
> }
>
> public void Run () {
>
> Console.WriteLine ( "Thread " + myNumber + " start ..." );
>
> Console.WriteLine ( "Thread " + myNumber + " finish ..." );
>
> }
>
> }
>
> The output which I got:
>
>> [serdyuk at node-284 nqueen]$ mono MultiThreadedOutput.exe 1
>> Thread 0 start ...
>> Thread 0 finish ...
>>
>> [serdyuk at node-284 nqueen]$ mono MultiThreadedOutput.exe 2
>> Thread 1 start ...Thread 0 start ...Thread 1 start ...Thread 0 start ...
>>
>> Thread 0 finish ...
>> Thread 1 finish ...
>>
>> [serdyuk at node-284 nqueen]$ mono MultiThreadedOutput.exe 3
>> Thread 0 start ...Thread 1 start ...Thread 2 start ...Thread 0 start
>> ...Thread 0 start ...Thread 1 start ...Thread 2 start ...
>> Thread 0 finish ...
>>
>> Thread 1 finish ...
>>
>> Thread 2 finish ...
>
>
> Is it true ?
> Under Windows I got like:
>
>> D:\users\serdyuk>MultiThreadedOutput 1
>> Thread 0 start ...
>> Thread 0 finish ...
>>
>> D:\users\serdyuk>MultiThreadedOutput 2
>> Thread 0 start ...
>> Thread 0 finish ...
>> Thread 1 start ...
>> Thread 1 finish ...
>>
>> D:\users\serdyuk>MultiThreadedOutput 2
>> Thread 0 start ...
>> Thread 1 start ...
>> Thread 0 finish ...
>> Thread 1 finish ...
>>
>> D:\users\serdyuk>MultiThreadedOutput 2
>> Thread 1 start ...
>> Thread 0 start ...
>> Thread 0 finish ...
>> Thread 1 finish ...
>
>
> I have tried my program under
>
>> [serdyuk at node-284 nqueen]$ mono -V
>> Mono JIT compiler version 1.9.1 (tarball)
>> Copyright (C) 2002-2007 Novell, Inc and Contributors.
>> www.mono-project.com
>> TLS: __thread
>> GC: Included Boehm (with typed GC)
>> SIGSEGV: altstack
>> Notifications: epoll
>> Architecture: amd64
>> Disabled: none
>
>
>> [serdyuk at node-284 nqueen]$ uname -a
>> Linux node-284 2.6.21-1.3194.fc8 #1 SMP Tue Feb 12 18:15:41 EET 2008
>> x86_64 x86_64 x86_64 GNU/Linux
>
>
>> [serdyuk at node-284 proc]$ cat cpuinfo
>> processor : 0
>> vendor_id : AuthenticAMD
>> cpu family : 15
>> model : 33
>> model name : Dual Core AMD Opteron(tm) Processor 875 HE
>
>
> ( 2 processors ).
>
> Thanks.
>
> Yury Serdyuk
>
>
>
>
More information about the Mono-list
mailing list