亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

在go語法中,如果channel加了緩沖區反而無法輸出?這是什么原因呢

在go語法中,如果channel加了緩沖區反而無法輸出?這是什么原因呢

元芳怎么了 2021-06-08 11:07:27
package mainimport "fmt"func main(){var i chan int = make(chan int)fmt.Println("i:",i)go func(){fmt.Println("goroutine back")j := <-ifmt.Println("j:",j)}()fmt.Println("main first")i <-1fmt.Println("2")}為什么為channel加了緩沖區以后goroutine里的code就不執行了?
查看完整描述

2 回答

?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

因為往無緩沖管道中添加value后會自我阻塞,必須等value被取走之后才能繼續執行,像你貼的代碼中那樣,在主線程中把1賦給了channel,此時主goroutine自我阻塞,等待有人取走channel中的數據后方能繼續執行。

查看完整回答
反對 回復 2021-06-15
?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

根據空間關系將一個要素類的屬性連接到另一個要素類的屬性。目標要素和來自連接要素的被連接屬性寫入到輸出要素類。
用法
空間連接是指根據要素的相對空間位置將連接要素中的行匹配到目標要素中的行。
默認情況下,連接要素的所有屬性會被追加到目標要素的屬性中并復制到輸出要素類。通過在連接要素的字段映射參數中控制這些屬性,可以定義將寫入到輸出中的屬性。
始終會向輸出要素類添加兩個新字段:Join_Count 和 TARGET_FID。Join_Count 指示與每個目標要素 (TARGET_FID) 匹配的連接要素數量。
在連接操作參數中指定 JOIN_ONE_TO_MANY 時,將另一個新的字段 JOIN_FID 添加到輸出。
3.當連接操作參數為 JOIN_ONE_TO_MANY 時,輸出要素類中的每個目標要素都可以包含一個或多個行。使用 JOIN_FID 字段更易于確定所連接的要素與目標要素 (TARGET_FID) 的具體對應關系。JOIN_FID 字段的值為 -1,表示沒有任何要素符合使用目標要素指定的空間關系。
只有同時進行如下設置,才能將所有輸入目標要素寫入到輸出要素類:
將連接操作設置為 JOIN_ONE_TO_ONE,并且
選中保留所有目標要素(在腳本中設置為 KEEP_ALL)。
連接要素的字段映射參數中指定的合并規則僅適用于連接要素中的屬性,且僅適用于多個要素與目標要素匹配 (Join_Count > 1) 的情況。例如,如果連接 DEPTH 屬性值分別為 15.5、2.5 和 3.3 的三個要素,并應用“平均值”合并規則,則輸出字段的值為 6.1。在進行統計計算時忽略連接字段中的空值。例如,15.5、<空> 和 2.5 將得出的結果為:“平均值”為 9.0,“計數”為 2。
將匹配選項設置為“CLOSEST”時,可能會出現兩個或多個連接要素與目標要素距離相等的情況。如果發生這種情況,將隨機選擇其中一個連接要素作為匹配要素(連接要素的 FID 對隨機選擇過程沒有影響)。如果要查找排在第 2位、第 3 位或第 N 位的最近要素,請使用生成近鄰表 (Generate Near Table) 工具。
了解有關如何計算鄰近值的詳細信息
如果連接要素與多個目標要素具有空間關系,則在根據目標要素對其進行匹配時進行多次計數。例如,如果點位于三個面內,則將點計數三次,每個面計數一次。



查看完整回答
反對 回復 2021-06-15
  • 2 回答
  • 0 關注
  • 310 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號