主プログラムから独立したスレッド中で実行される関数またはサブルーチンは引数を取ることができます。次のコードは,関数とサブルーチンの概略を示しています。
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 は,値で渡されます。
関数またはサブルーチンが終了すると,スレッドは自動的に終了します。