Pool::submit

Submits an object for execution

&reftitle.description; public `int` `Pool::submit` `Threaded` `task`

Submit the task to the next Worker in the Pool

&reftitle.parameters;

`task`

- The task for execution

&reftitle.returnvalues;

the identifier of the Worker executing the object

&reftitle.examples;

### Submitting Tasks

    <?php
    class MyWork extends Threaded {

        public function run() {
            /* ... */
        }
    }

    class MyWorker extends Worker {

        public function __construct(Something $something) {
            $this->something = $something;
        }

        public function run() {
            /** ... **/
        }
    }

    $pool = new Pool(8, \MyWorker::class, [new Something()]);
    $pool->submit(new MyWork());
    var_dump($pool);
    ?>

&example.outputs;

    object(Pool)#1 (6) {
      ["size":protected]=>
      int(8)
      ["class":protected]=>
      string(8) "MyWorker"
      ["workers":protected]=>
      array(1) {
        [0]=>
        object(MyWorker)#4 (1) {
          ["something"]=>
          object(Something)#5 (0) {
          }
        }
      }
      ["work":protected]=>
      array(1) {
        [0]=>
        object(MyWork)#3 (1) {
          ["worker"]=>
          object(MyWorker)#5 (1) {
            ["something"]=>
            object(Something)#6 (0) {
            }
          }
        }
      }
      ["ctor":protected]=>
      array(1) {
        [0]=>
        object(Something)#2 (0) {
        }
      }
      ["last":protected]=>
      int(1)
    }