[concurrency-interest] draft Carrier API

Doug Lea dl at cs.oswego.edu
Sun Mar 8 09:37:34 EDT 2020


On 3/8/20 8:49 AM, Alex Otenko via Concurrency-interest wrote:
> I think it may be useful to clarify who is meant to call each of the
> close methods.

Right; thanks especially for the questions about what confused
programmers who aren't used to dealing with half-closed states might do.
 Probably best to stop using "close" except for full close. And kill
closeForReceiving. Leaving better names and simpler specs:

interface Carriable<T> extends AutoCloseable {
    boolean isClosed();
    boolean isFinishedSending();    // closed or sending disabled
    //...
}
interface CarrierSender<T> extends Carriable<T> {
    void finishSending();           // disable sending; close when empty
    // ...
}

Full versions as usual at: http://gee.cs.oswego.edu/dl/wwwtmp/Carrier.java



More information about the Concurrency-interest mailing list