Comments (5)
I will assume that the example you posted was correct when you ran it.
I can see a leak and a segfault when I run a variation of it, which shouldn't happen. But static variables do not have the abilities or functionality you are trying to use here and should be avoided completely if at all possible, they cannot be used in a truly safe manner. They cannot be shared among threads safely, and your code will be more stable and safe if you do not use them.
EDIT: I thought you were someone else, have a look through previous bugs concerning static variables, it's been discussed before, I'm sorry it's not documented yet I just haven't had the time ...
from pthreads.
I did another test, error occurs using self, if access using
// Error
public static function get() {
if (!self::$instance)
self::$instance = new self;
return self::$instance;
}
//Works with access static property in thread
public function get() {
if (!$this::$instance)
$this::$instance = new self;
return $this::$instance;
}
//Works with access static property in thread
public static function get() {
if (!MyThread::$instance)
MyThread::$instance = new self;
return MyThread::$instance;
}
from pthreads.
Could you please provide full, properly formatted examples, I think I understand what you're saying but it'd be nice to be certain :)
Thanks for taking the time to keep looking, it's very helpful ...
from pthreads.
I have a meeting now, will post later.
what I mean is:
- self :: $ propertyName does not work in the context of the thread (static properties).
- MyThread::$propertyName and $this::$propertyName work in the context of the thread (static properties).
from pthreads.
Ah right yeah that makes sense, both $this and the entry are declared for the actual threading context explicitly, I guess I need to handle the self keyword somehow, I will look into it ... cheers
from pthreads.
Related Issues (20)
- Volatile isn't thread safe HOT 7
- Halting development of pthreads for 7.4 HOT 1
- Lost resource.
- Pool Completed Threaded Tasks Count Progress.
- Can not enable extension pthreads on PHP 7.2.15 Windows 10 Enterprise (x64) HOT 3
- sudo pecl install pthreads /usr/local/bin/pecl: 28: exec: /usr/local/bin/php: not found
- PHPIZE? HOT 1
- How to get unique php-extension instance for each php thread? HOT 6
- PHP 7.1.23 compile failed HOT 3
- Migrating to Pararell and Differences between these two extensions. HOT 1
- zend_mm_heap corrupted without sockets
- php-zts with pthreads not allocating tasks to free workers HOT 3
- Serialization of 'Closure' is not allowed in Worker HOT 5
- PHP7.4 HOT 2
- [BUG] PHP7.2 broken after this commit HOT 6
- Cannot install via pecl HOT 2
- Memory "leak" when passing large payload tasks to pool HOT 2
- windos load pthread.dll failed HOT 1
- Make not working HOT 1
- memory leak when pthreads in pthreads HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pthreads.