# actix_web::actix::actix::SyncArbiter - Rust
API documentation for the Rust `SyncArbiter` struct in crate `actix_web`.
Keywords: rust, rustlang, rust-lang, SyncArbiter

# Struct actix_web::actix::actix::SyncArbiter [−]

    pub struct SyncArbiter<A> where
        A: Actor<Context = SyncContext<A>>,  { /* fields omitted */ }

Sync arbiter

## Methods

###

`impl<A> SyncArbiter<A> where A: Actor<Context = SyncContext<A>>,`

####

`pub fn start<F>(threads: usize, factory: F) -> Addr<A> where F: Fn() -> A + Send + Sync + 'static,` |

Start new sync arbiter with specified number of worker threads. Returns address of the started actor.

## Trait Implementations

###

`impl<A> Actor for SyncArbiter<A> where A: Actor<Context = SyncContext<A>>,`

#### `type Context = Context<SyncArbiter<A>>`

Actor execution context type

####

`fn started(&mut self, ctx: &mut Self::Context)` |

Method is called when actor get polled first time.

####

`fn stopping(&mut self, ctx: &mut Self::Context) -> Running` |

Method is called after an actor is in `Actor::Stopping` state. There could be several reasons for stopping. `Context::stop` get called by the actor itself. All addresses to current actor get dropped and no more evented objects left in the context. Read more

####

`fn stopped(&mut self, ctx: &mut Self::Context)` |

Method is called after an actor is stopped, it can be used to perform any needed cleanup work or spawning more actors. This is final state, after this call actor get dropped. Read more

####

`fn start(self) -> Addr<Self> where Self: Actor<Context = Context<Self>>,` |

Start new asynchronous actor, returns address of newly created actor. Read more

####

`fn start_default() -> Addr<Self> where Self: Actor<Context = Context<Self>> + Default,` |

Start new asynchronous actor, returns address of newly created actor.

####

`fn create<F>(f: F) -> Addr<Self> where F: FnOnce(&mut Context<Self>) -> Self + 'static, Self: Actor<Context = Context<Self>>,` |

Use `create` method, if you need `Context` object during actor initialization. Read more

## Auto Trait Implementations

###

`impl<A> Send for SyncArbiter<A>`

###

`impl<A> Sync for SyncArbiter<A>`

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g. `str,u8` or `String,struct:Vec,test`)