mirror of
https://github.com/danog/parallel.git
synced 2024-11-29 20:29:00 +01:00
Update readme and license
This commit is contained in:
parent
7bb49256be
commit
5eb0a6a241
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 Aaron Piotrowski
|
||||
Copyright (c) 2015-2017 amphp
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
65
README.md
65
README.md
@ -1,50 +1,51 @@
|
||||
# Parallel Processing for Amp
|
||||
<p align="center">
|
||||
<a href="https://amphp.org/parallel"><img src="https://raw.githubusercontent.com/amphp/logo/master/repos/parallel.png?v=11-29-2017" alt="parallel"></a>
|
||||
</p>
|
||||
|
||||
[![Build Status](https://img.shields.io/travis/amphp/parallel/master.svg?style=flat-square)](https://travis-ci.org/amphp/process)
|
||||
[![Coverage Status](https://img.shields.io/coveralls/amphp/parallel/master.svg?style=flat-square)](https://coveralls.io/github/amphp/process?branch=master)
|
||||
![Stable](https://img.shields.io/badge/v0.1-stable-green.svg?style=flat-square)
|
||||
![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)
|
||||
<p align="center">
|
||||
<a href="https://travis-ci.org/amphp/parallel"><img src="https://img.shields.io/travis/amphp/parallel/master.svg?style=flat-square" alt="Build Status"></a>
|
||||
<a href="https://coveralls.io/github/amphp/parallel?branch=master"><img src="https://img.shields.io/coveralls/amphp/parallel/master.svg?style=flat-square" alt="Code Coverage"></a>
|
||||
<a href="https://github.com/amphp/parallel/releases"><img src="https://img.shields.io/github/release/amphp/parallel.svg?style=flat-square" alt="Release"></a>
|
||||
<a href="blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square" alt="License"></a>
|
||||
</p>
|
||||
|
||||
**True parallel processing using native threading and multiprocessing for parallelizing code, *without* blocking.**
|
||||
**True parallel processing using native multiple processes or threads for parallelizing code, *without* blocking.**
|
||||
|
||||
This library is a component for [Amp](https://amphp.org) that provides native threading, multiprocessing, process synchronization, shared memory, and task workers. Like other Amp components, this library uses [Coroutines](http://amphp.org/amp/coroutines/) built from [Promises](http://amphp.org/amp/promises/) and [Generators](http://www.php.net/manual/en/language.generators.overview.php) to make writing asynchronous code more like writing synchronous code.
|
||||
`amphp/parallel` a component for [Amp](https://amphp.org) that provides native threading, multiprocessing, process synchronization, shared memory, and task workers. Like other Amp components, this library uses [Coroutines](http://amphp.org/amp/coroutines/) built from [Promises](http://amphp.org/amp/promises/) and [Generators](http://www.php.net/manual/en/language.generators.overview.php) to make writing asynchronous code more like writing synchronous code.
|
||||
|
||||
This library provides a means of parallelizing code without littering your application with complicated lock checking and inter-process communication.
|
||||
|
||||
To be as flexible as possible, this library comes with a collection of non-blocking concurrency tools that can be used independently as needed, as well as an "opinionated" worker API that allows you to assign units of work to a pool of worker threads or processes.
|
||||
|
||||
##### Requirements
|
||||
## Installation
|
||||
|
||||
- PHP 7 (no extensions required)
|
||||
|
||||
##### Suggested
|
||||
|
||||
- [pthreads extension](https://pecl.php.net/package/pthreads): Best extension option for concurrency in PHP, but it requires PHP to be compiled with `--enable-maintainer-zts` to enable thread-safety.
|
||||
- [pcntl extension](http://php.net/manual/en/book.pcntl.php): Enables forking concurrency method.
|
||||
- [sysvmsg extension](http://php.net/manual/en/book.sem.php): Required for sharing memory between forks or processes.
|
||||
|
||||
##### Installation
|
||||
|
||||
The recommended way to install is with the [Composer](http://getcomposer.org/) package manager. (See the [Composer installation guide](https://getcomposer.org/doc/00-intro.md) for information on installing and using Composer.)
|
||||
|
||||
Run the following command to use this package in your project:
|
||||
This package can be installed as a [Composer](https://getcomposer.org/) dependency.
|
||||
|
||||
```bash
|
||||
composer require amphp/parallel
|
||||
composer require amphp/sync
|
||||
```
|
||||
|
||||
You can also manually edit `composer.json` to add this library as a project requirement.
|
||||
## Requirements
|
||||
|
||||
```js
|
||||
// composer.json
|
||||
{
|
||||
"require": {
|
||||
"amphp/parallel": "^0.1"
|
||||
}
|
||||
}
|
||||
```
|
||||
- PHP 7.0+ (no extensions required)
|
||||
|
||||
### Development and Contributing
|
||||
## Documentation
|
||||
|
||||
Documentation can be found on [amphp.org/sync](https://amphp.org/sync/) as well as in the [`./docs`](./docs) directory.
|
||||
|
||||
## Versioning
|
||||
|
||||
`amphp/sync` follows the [semver](http://semver.org/) semantic versioning specification like all other `amphp` packages.
|
||||
|
||||
## Security
|
||||
|
||||
If you discover any security related issues, please email [`me@kelunik.com`](mailto:me@kelunik.com) instead of using the issue tracker.
|
||||
|
||||
## License
|
||||
|
||||
The MIT License (MIT). Please see [`LICENSE`](./LICENSE) for more information.
|
||||
|
||||
## Development and Contributing
|
||||
|
||||
Want to hack on the source? A [Vagrant](http://vagrantup.com) box is provided with the repository to give a common development environment for running concurrent threads and processes, and comes with a bunch of handy tools and scripts for testing and experimentation.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user