pytilpack.threading¶
pytilpack.threading
¶
スレッド関連。
acquire_with_timeout(lock, timeout)
¶
ロックを取得し、タイムアウト時間内に取得できなかった場合はFalseを返す。
引数:
| 名前 | タイプ | デスクリプション | デフォルト |
|---|---|---|---|
lock
|
Lock | RLock | Semaphore | BoundedSemaphore
|
取得するロック。 |
必須 |
timeout
|
float
|
タイムアウト時間(秒)。 |
必須 |
戻り値:
| タイプ | デスクリプション |
|---|---|
None
|
ロックが取得できた場合はTrue、取得できなかった場合はFalse。 |
ソースコード位置: pytilpack/threading.py
parallel(funcs, max_workers=None, thread_name_prefix='', timeout=None, chunksize=1)
¶
複数の関数を並列実行する。
引数:
| 名前 | タイプ | デスクリプション | デフォルト |
|---|---|---|---|
funcs
|
Iterable[Callable[[], T]]
|
実行する関数のリスト。 |
必須 |
max_workers
|
int | None
|
同時実行するスレッド数。Noneの場合はCPUのコア数。 |
None
|
thread_name_prefix
|
str
|
スレッド名のプレフィックス。 |
''
|
timeout
|
float | None
|
タイムアウト時間。 |
None
|
chunksize
|
int
|
一度に実行する関数の数。 |
1
|
戻り値:
| タイプ | デスクリプション |
|---|---|
list[T]
|
各関数の戻り値のリスト。 |
ソースコード位置: pytilpack/threading.py
parallel_for(func, n)
¶
複数の関数を並列実行する。
引数:
| 名前 | タイプ | デスクリプション | デフォルト |
|---|---|---|---|
func
|
Callable[[int], T]
|
実行する関数。 |
必須 |
n
|
int
|
ループ回数。 |
必須 |
戻り値:
| タイプ | デスクリプション |
|---|---|
list[T]
|
各関数の戻り値のリスト。 |
parallel_foreach(func, items)
¶
複数の関数を並列実行する。
引数:
| 名前 | タイプ | デスクリプション | デフォルト |
|---|---|---|---|
func
|
Callable[[U], T]
|
実行する関数。 |
必須 |
items
|
Iterable[U]
|
引数のリスト。 |
必須 |
戻り値:
| タイプ | デスクリプション |
|---|---|
list[T]
|
各関数の戻り値のリスト。 |