Hi Yevgeni,

The main Arrow classes (such as Array, ChunkedArray, RecordBatch, Table)
are immutable so support multi-thread usage out of the box.

We have mutable classes as well (e.g. IO classes, ArrayBuilders, mutable
Buffers...) and those are not thread-safe.

Regards

Antoine.


Le 26/09/2019 à 06:03, Yevgeni Litvin a écrit :
> Where in the documentation can I find information about thread-safety
> guarantee of arrow classes? In particular, is the following usage of
> pyarrow.Table showed by the pseudo-code thread-safe?
> 
> 
> arrow_table = pa.Table.from_pandas(df)
> 
> 
> def other_thread_worker_impl(arrow_table):
> 
>     arrow_table.column('some_column')[row].as_py()
> 
> 
> run_in_parallel(other_thread_worker_impl, arrow_table)
> 
> 
> I tried using pandas.DataFrame in the same multi-threaded setup and it
> turned out to be unsafe (https://github.com/pandas-dev/pandas/issues/28439).
> 
> Thank you.
> 
> - Yevgeni
> 

Reply via email to