[webkit-dev] Proposal and WIP implementation for refactoring cross thread communication

KwangYul Seo skyul at company100.net
Mon Aug 13 16:57:39 PDT 2012


Currently, there is no code using WTF::Function in single-threaded code. It
seems WTF::Function is intended to be used for cross thread communication.
One evidence is that FunctionImplBase is thread-safe ref-counted, which is
not super efficient for single threaded use cases.

If we have no plan to use WTF::Function for single threaded code, why don't
we rename WTF::Function to WTF::CrossThreadFunction and add more features
such as cross thread copying there?

Regards,
Kwang Yul Seo

On Mon, Aug 13, 2012 at 9:26 PM, Kwonjin Jeong <gram at company100.net> wrote:

> Hi, WebKit.
>
> There are several implementations of threads, tasks and cross thread
> communication. e.g. FileThread, DatabaseThread and StorageThread perform
> blocking IO asynchronously and invoke callbacks using
> ScriptExecutionContext. Each of these implementation is pretty similar, but
> there is no code sharing at all.
>
> So, my team at Company 100 is trying to refactor cross thread
> communication. We wrote an API proposal and modified some thread code to
> use our new API.
>
> As the first step, we added two new abstractions for cross thread
> communcation:
>
> 1) TaskThread is our new abstraction for the task thread. FileThread,
> DatabaseThread and other task threads reuse the code by inheriting from
> TaskThread.
>
> 2) We also added CrossThreadFunction. It's used to pass a task to the task
> thread and invoke callbacks. CrossThreadFunction is similar to
> WTF::Function but it has some additional features. e.g., cross-thread
> parameter copying and ref counting.
>
> Please refer to the following bug for details:
>
> https://bugs.webkit.org/show_bug.cgi?id=92365
>
> We welcome feedbacks on our work.
>
> Thanks.
>
> --
> ====================
> Kwonjin Jeong
> Computer Scientist
> Company 100, Inc.
> Phone: +82-10-9528-2581
> ====================
>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo/webkit-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20120814/6029138f/attachment.html>


More information about the webkit-dev mailing list