PHP pthreads v3 의 Volatile 소개 및 사용 방법 예시
pthreads v3 에서 Threaded 대상 의 자동 불변성 개념 을 도 입 했 기 때문에 구조 함수 에서 구성원 에 게 배열 로 설정 할 때 다른 곳 에 서 는 구성원 을 다시 고 칠 수 없습니다.
예 는 다음 과 같다.
<?php
//pthreads v3 Threaded
// Threaded ,
// , , , Volatile
class Task extends Thread
{
private $data;
private $result;
public function __construct()
{
$this->data = 'abc';
var_dump($this->data);
// ,
$this->data = 'def';
var_dump($this->data);
// data , Volatile
$this->data = [1, 2, 3];
var_dump($this->data);
// data ,
// Threaded (Volatile Threaded),
$this->data = [4, 5, 6];
var_dump($this->data);
// , , Threaded Volatile
$this->result = (array)[1, 2, 3];
//
var_dump($this->result);
$this->result = (array)[4, 5, 6];
//
var_dump($this->result);
}
}
new Task();
우리 가 멤버 들 을 다시 고 쳐 쓰 면 잘못 보고 할 것 이다.멤버 데 이 터 를 고 쳐 써 야 한다 면 위의 명시 적 강제 전환 을 제외 하고 또 다른 방법 은 Volatile 류 를 계승 하 는 것 이다.
예 는 다음 과 같다.
<?php
//Volatile
class Task extends Volatile
{
private $data;
public function __construct()
{
// Volatile , Threaded ,
$this->data = [
'a' => 123,
'b' => 456,
'c' => 789,
];
var_dump($this->data);
//
$this->data = [
'a' => 'aaa',
'b' => 'bbb',
'c' => 'ccc',
];
var_dump($this->data);
// Threaded ArrayAccess , , Volatile
echo $this->data['a'], "\t", $this->data['b'], "\t", $this->data['c'], "
";
foreach ($this->data as $item) {
echo $item, "
";
}
}
}
new Task();
결 과 는 다음 과 같다.더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.