新發(fā)基金的好處和壞處是什么?新基金的封閉期一般是多久?
新發(fā)基金的好處和壞處是什么?新發(fā)基金的優(yōu)點(diǎn):1、認(rèn)購費(fèi)率低:一般
2023/07/06
(資料圖片)
所有的書上都說, 進(jìn)程中的所有線程共享進(jìn)程的地址空間,如上圖中的藍(lán)框都在一個(gè)進(jìn)程中。那么該如何證明這個(gè)結(jié)論呢?
我只需要在一個(gè)線程中訪問另一個(gè)線程的局部變量就可以了。如果能訪問到,那么就證明兩個(gè)線程是一伙的,如果不能,那 ……不可能。
int32_t *gs_i_ptr
;在線程 a 中定義一個(gè)局部變量int32_t run_count = 0
,并將其地址賦值給全局變量 gs_i_ptr = &run_count
;在線程 b 中獲取全局變量得值 *gs_i_ptr
;#include < stdio.h >#include < stdint.h >#include < unistd.h >#include < pthread.h >staticint32_t *gs_i_ptr = NULL;static void *th1(void *para){ sleep(1); while(1) { printf("th2 run count:%dn", *gs_i_ptr); sleep(1); }}static void *th2(void *para){ int32_t run_count = 0; gs_i_ptr = &run_count; while(1) { run_count++; sleep(1); }}int main(int argc, char *argv[]){ pthread_t pid = 0; pthread_create(&pid, NULL, th1, NULL); pthread_create(&pid, NULL, th2, NULL); getchar(); return 0;}
運(yùn)行結(jié)果:
你看,線程 1 可以訪問線程 2 的 局部變量。它為什么能訪問到呢?因?yàn)樗鼈儍蓚€(gè)線程位于同一地址空間!
標(biāo)簽: