スレッド・ルーチンの書式

主プログラムから独立したスレッド中で実行される関数またはサブルーチンは引数を取ることができます。次のコードは,関数とサブルーチンの概略を示しています。

	INTEGER(4) FUNCTION thrdfnc(arg)
	  USE DFMT
	  integer(4) arg
	  !DEC$ ATTRIBUTES VALUE :: arg
	  arg = arg + 1		! Sample only; real work goes here.
	  thrdfnc = 0		! Sets exit code to 0.
	END FUNCTION

	SUBROUTINE thrdfnc2 (arg2)
	  USE DFMT
	  integer(4) arg2
	  !DEC$ ATTRIBUTES VALUE :: arg2
				! Subroutine work goes here.
	  Call exitthread(0)	! Exit code is 0.
	END SUBROUTINE

引数 arg または arg2 は,主プログラムが CreateThread を呼び出したときに,第 4 引数として関数またはサブルーチンに渡されます。引数 arg または arg2 は,値で渡されます。

関数またはサブルーチンが終了すると,スレッドは自動的に終了します。