第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

如何在每個(gè)線程的PHP擴(kuò)展中封裝全局變量?

如何在每個(gè)線程的PHP擴(kuò)展中封裝全局變量?

PHP
慕工程0101907 2021-06-01 16:59:03
我開發(fā)了一些 PHP 擴(kuò)展。此擴(kuò)展必須與 pthread 一起使用。我遇到了一個(gè)問題,因?yàn)槿肿兞?,全局聲明(?C 代碼的頂部),它們可以從每個(gè) PHP 線程訪問。例如,我們有用 C 語言編寫的簡單 PHP 擴(kuò)展代碼:#include <php.h>int test_var;PHP_FUNCTION(set_var) {  test_var = 123;}PHP_FUNCTION(print_var) {  printf("%d", test_var);}如果我們在第一個(gè) PHP 線程中運(yùn)行以下代碼:set_var();然后在第二個(gè)線程中運(yùn)行以下 PHP 代碼:print_var();第二個(gè)線程的輸出將是 123。這意味著我必須非常小心地使用全局 C 變量。因?yàn)樗赡軙桓采w并且我的腳本崩潰了。作為變體,我可以在函數(shù)內(nèi)部定義變量,并將此變量從定義變量的函數(shù)傳遞給另一個(gè)函數(shù)。但是在某些情況下,當(dāng)多個(gè)函數(shù)必須訪問某個(gè)變量時(shí),我無法做到這一點(diǎn)。有人可以告訴我一個(gè)好的做法嗎?
查看完整描述

1 回答

?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊

使全局變量 thread-local 正在做:

_Thread_local int test_var; /* for C11 or higher */

對于其他版本的 C,這可能會:

thread_local int test_var;

或這個(gè)

__thread int test_var;


查看完整回答
反對 回復(fù) 2021-06-04
  • 1 回答
  • 0 關(guān)注
  • 147 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號