亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

與64位機(jī)的第一次親密接觸

系統(tǒng) 1773 0

今天陽(yáng)光明媚,我與64位有個(gè)約會(huì)。

約會(huì)內(nèi)容 如下:

與64位機(jī)的第一次親密接觸

首先,main中創(chuàng)建producer和consumer兩個(gè)線程,然后等待兩個(gè)線程執(zhí)行完畢。

理論上講,屏幕上依次會(huì)輸出


Point 1
Point 2
Point 3

Unfortunately,代碼在打印出Point 2后Segment Fault Core掉了,我將兩個(gè)pthraed_join()交換位置,變成下面的樣子:

fprintf(stderr,"Point 2/n");
pthread_join(consumer, (void *)&result);

fprintf(stderr, "Point 1/n");
pthread_join(producer, (void *)&result);

這次居然沒有core。。。莫非,pthread_join和pthread_create還有順序?qū)?yīng)關(guān)系?不應(yīng)該呀!man pthread_join看了下,沒有相關(guān)注意事項(xiàng),那么,有點(diǎn)囧了……

考慮到我是在實(shí)驗(yàn)室,莫非……莫非……于是在代碼前面加了這么一句:

printf("int size: %d, void* size:%d/n", sizeof(int), sizeof(void*));

shit!輸出為:

int size: 4

void* size: 8

囧,問題找到~ 原來這是個(gè)64位機(jī)器,int 和pointer的大小不一樣了。

堆棧Layout如下:

main args Hi

pthread_t producer
pthread_t consumer
intresult Lo

第一個(gè)pthread_join會(huì)向result所在的堆棧處寫數(shù)據(jù)(這里為全0),數(shù)據(jù)長(zhǎng)度為8字節(jié),于是乎,consumer的內(nèi)容被破壞了,后面的pthread_join使用的consumer指針也就變成非法了。core之~~

如何避免這個(gè)問題呢? 最自然的方法就是改變r(jià)esult的定義:

long result;

long和void*都是占8字節(jié)。

還有個(gè)搞著玩的方法 ,僅僅這段代碼中適用,那就是改變consumer和producer的定義順序:

pthread_t consumer;

pthread_t producer;
為什么呢?調(diào)用pthread_join()等待producer,返回后producer的內(nèi)容會(huì)被result覆蓋掉,恰好producer再也不會(huì)被使用了,壞了也就壞了。但是consumer還健在,下一個(gè)pthread_join照常執(zhí)行。經(jīng)過驗(yàn)證,OK~ 這個(gè)道理跟上面交換兩個(gè)pthread_join的順序是相通的。

----

我養(yǎng)的太陽(yáng)花還沒見發(fā)芽,然而那一盆土上已經(jīng)長(zhǎng)出了五顏六色的草兒,每天清晨趴在床頭看一看,也是十分的賞心悅目呢~~

與64位機(jī)的第一次親密接觸


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 国产精品综合视频 | 国产精品国产亚洲精品不卡 | 天海翼一区 在线播放 | 91香蕉国产亚洲一区二区三区 | 一级大片免费观看 | 欧美一级毛片免费高清的 | 涩涩视频免费观看 | 亚洲综合精品一区二区三区中文 | 亚洲精品mv在线观看 | 国产精品亚洲综合 | 久久草在线视频 | 久久精品国产eeuss | 爱爱免费视频网站 | 老色鬼a∨在线视频在线观看 | 国产精品66 | 香蕉免费在线视频 | 2021久久精品永久免费 | 日本精品一区 | 国产精品久久久久9999 | 911视频免费 | 中文字幕一区久久久久 | 日韩a一级欧美一级在线播放 | 香蕉黄色片 | 奇米影视777888| 伊人快播| 国内精品免费视频 | 91国语精品自产拍在线观看一 | 手机看高清特黄a大片 | 亚洲成人网在线播放 | 免费v片在线观看无遮挡 | 亚洲视频1 | 美女被羞羞的网站 | 性视频一区二区三区免费 | 久久国产精品国产精品 | 国产在线精彩视频二区 | 牛牛色婷婷在线视频播放 | 一级片视频免费观看 | 欧美久久久久久久久 | 免费一级毛片在线播放泰国 | 成人毛片免费 | 日韩欧美中文 |