argra****@users*****
argra****@users*****
2009年 6月 21日 (日) 02:54:47 JST
Index: docs/modules/threads-1.67/threads.pod diff -u docs/modules/threads-1.67/threads.pod:1.1 docs/modules/threads-1.67/threads.pod:1.2 --- docs/modules/threads-1.67/threads.pod:1.1 Mon Feb 16 00:41:37 2009 +++ docs/modules/threads-1.67/threads.pod Sun Jun 21 02:54:47 2009 @@ -140,7 +140,7 @@ =end original -I<threads> API は、おおまかに古い Thread.pm API に基づいています。 +I<threads> API は、古い Thread.pm API におおまかに基づいています。 変数はスレッド間で共有されず、全ての変数はデフォルトで スレッドローカルなものであることに注意しておくことが非常に重要です。 共有変数を利用するには、L<threads::shared> を使わなければなりません。 @@ -524,10 +524,10 @@ =end original -Threads are executed in an C<eval> context. This method will return C<undef> -if the thread terminates I<normally>. Otherwise, it returns the value of -C<$@> associated with the thread's execution status in its C<eval> context. -(TBT) +スレッドは C<無効> コンテキストで実行されます。 +このメソッドは、スレッドが I<普通に> 終了した場合は C<undef> を返します。 +さもなければ、スレッドの実行状態に関連づけられた C<$@> の値を +C<無効> コンテキストで返します。 =item $thr->_handle() @@ -541,12 +541,12 @@ =end original -This I<private> method returns the memory location of the internal thread -structure associated with a threads object. For Win32, this is a pointer to -the C<HANDLE> value returned by C<CreateThread> (i.e., C<HANDLE *>); for other -platforms, it is a pointer to the C<pthread_t> structure used in the -C<pthread_create> call (i.e., C<pthread_t *>). -(TBT) +この I<プライベート> メソッドは、スレッドオブジェクトに関連づけられた +内部スレッド構造体のメモリ位置を返します。 +Win32 では、これは C<CreateThread> から返される C<HANDLE> 値へのポインタ +(つまり C<HANDLE *>) です; その他のプラットフォームでは、 +C<pthread_create> 呼び出しで使われる C<pthread_t> 構造体へのポインタ +(つまり C<pthread_t *>) です。 =begin original @@ -557,11 +557,10 @@ =end original -This method is of no use for general Perl threads programming. Its intent is -to provide other (XS-based) thread modules with the capability to access, and -possibly manipulate, the underlying thread structure associated with a Perl -thread. -(TBT) +このメソッドは、一般的な Perl スレッドプログラミングには無用です。 +このメソッドの目的は、その他の (XS ベースの) スレッドモジュールが、 +Perl スレッドと関連づけられている基礎となるスレッド構造体へのアクセスおよび +おそらくは操作を可能にすることです。 =item threads->_handle() @@ -571,8 +570,7 @@ =end original -Class method that allows a thread to obtain its own I<handle>. -(TBT) +スレッドが自身の I<handle> を得るためのクラスメソッドです。 =back @@ -978,9 +976,8 @@ =end original -This returns the thread's context in the same manner as -L<wantarray()|perlfunc/"wantarray">. -(TBT) +これは L<wantarray()|perlfunc/"wantarray"> と同じ方法でスレッドの +コンテキストを返します。 =head2 threads->wantarray() @@ -992,10 +989,9 @@ =end original -Class method to return the current thread's context. This returns the same -value as running L<wantarray()|perlfunc/"wantarray"> inside the current -thread's entry point function. -(TBT) +現在のスレッドのコンテキストを返すクラスメソッドです。 +現在のスレッドのエントリポイント関数の内側で +L<wantarray()|perlfunc/"wantarray"> を実行するのと同じ値を返します。 =head1 THREAD STACK SIZE @@ -1599,6 +1595,8 @@ =item Thread-safe modules +(スレッドセーフなモジュール) + =begin original See L<perlmod/"Making your module threadsafe"> when creating modules that may @@ -1614,6 +1612,8 @@ =item Using non-thread-safe modules +(非スレッドセーフなモジュールを使う) + =begin original Unfortunately, you may encounter Perl modules that are not I<thread-safe>. @@ -1704,6 +1704,8 @@ =item Environment variables +(環境変数) + =begin original Currently, on all platforms except MSWin32, all I<system> calls (e.g., using @@ -1713,11 +1715,11 @@ =end original -Currently, on all platforms except MSWin32, all I<system> calls (e.g., using -C<system()> or back-ticks) made from threads use the environment variable -settings from the I<main> thread. In other words, changes made to C<%ENV> in -a thread will not be visible in I<system> calls made by that thread. -(TBT) +現在のところ、MSWin32 以外の全てのプラットフォームでは、 +スレッドによって作られた (C<system()> または逆クォートによる) 全ての +I<system> 呼び出しは I<main> スレッドの環境変数設定を使います。 +言い換えると、スレッドで行った C<%ENV> への変更は、そのスレッドで作られた +I<system> 呼び出しでは見えません。 =begin original @@ -1726,9 +1728,8 @@ =end original -To work around this, set environment variables as part of the I<system> call. -For example: -(TBT) +これを回避するには、I<system> 呼び出しの一部として環境変数をセットします。 +例えば: my $msg = 'hello'; system("FOO=$msg; echo \$FOO"); # Outputs 'hello' to STDOUT @@ -1739,8 +1740,7 @@ =end original -On MSWin32, each thread maintains its own set of environment variables. -(TBT) +MSWin32 では、各スレッドでは独自の環境変数集合を管理します。 =item Parent-child threads @@ -1758,6 +1758,8 @@ =item Creating threads inside special blocks +(特殊ブロックの中でスレッドを作る) + =begin original Creating threads inside C<BEGIN>, C<CHECK> or C<INIT> blocks should not be @@ -1775,6 +1777,8 @@ =item Unsafe signals +(安全でないシグナル) + =begin original Since Perl 5.8.0, signals have been made safer in Perl by postponing their @@ -1824,6 +1828,8 @@ =item Returning closures from threads +(スレッドからクロージャを返す) + =begin original Returning closures from threads should not be relied upon. Depending of the @@ -1841,6 +1847,8 @@ =item Returning objects from threads +(スレッドからオブジェクトを返す) + =begin original Returning objects from threads does not work. Depending on the classes @@ -1858,6 +1866,8 @@ =item Perl Bugs and the CPAN Version of L<threads> +(Perl のバグと CPAN 版の L<threads>) + =begin original Support for threads extends beyond the code in this module (i.e., @@ -1965,7 +1975,7 @@ =end original -スタックサイズの記述: +スタックサイズの議論: L<http://www.perlmonks.org/?node_id=532956> =head1 AUTHOR