招聘|歡迎加入非凸,學習Rust,瞭解記憶體和執行緒安全問題

非凸科技發表於2022-04-06

Rust 程式語言旨在確保記憶體安全,它混合使用編譯時靜態檢查和執行時鎖來阻止程式訪問無效指標或在沒有適當同步的情況下跨執行緒共享記憶體。 Rust 的實現方式通常理解是引入了可變的借用和不可變的引用、生命週期等。

 

1 . 獨一無二的訪問 如果一個變數對一個值有唯一訪問權,那麼對它進行修改是安全的。

 

2 . 獨一無二的所有權 獨一無二的 訪問的一種形式是所有權。當你用一個值初始化一個變數時,這個變數就成為那個值的唯一所有者。因為值只有一個所有者,所有者可以安全地修改值、銷燬值或將值轉移給新的所有者。

 

3 . 獨一無二的借用 如果你對T 型別的值有惟一的訪問權,則可以使用借用對該值的惟一引用。對型別 T 的值的唯一引用具有型別 &mut T

 

4 . 獨一無二的借用不能被複制 一個&mut T 型別的值不能被複制或克隆,因為這將導致對相同值有兩個唯一性引用,它只能被移動。

 

5 . 共享訪問 如果一個值同時存在多個可用於來訪問它的可用變數,那麼這個值就是共享的。

 

6 . 共享所有權 Rc<T> 將在堆上為型別 T 的值分配空間,再加上一些額外的空間用於引用計數,然後你可以呼叫 Rc::clone 來增加引用計數,並生成另一個指向相同值的 Rc<T>

 

7 . 共享借用 由於Rc<T> 對它的型別 T 值沒有唯一的訪問權,所以它不能生成唯一的 &mut T 借用 ( 除非在執行時檢查引用計數是否等於 1 ,但它實際上不是共享的借用 ) 。但它可以生成型別 T 的共享引用 &T

 

8. 執行緒安全 Rust 透過標準庫內建了兩個 Trait ,用來標記其他執行緒是否可安全訪問的型別:

T: Send  意味著在單個其他執行緒上訪問 T 是安全的,其中在執行時間線上每一個執行緒具有一次性的獨佔訪問權。這種型別的值可以透過將獨一無二的所有權轉移到另一個執行緒,或者透過獨一無二的借用 (&mut T) 在另一個執行緒上使用。

T: Sync  意味著多個執行緒可同時訪問 T 是安全的,每個執行緒都有共享訪問許可權。這些型別的值可以透過共享引用 (&T) 在其他執行緒上訪問 < 實際上是共享只讀而不是寫 >

 

9 . 共享可修改性 當值不發生改變修改時,共享是安全的,而當值不發生共享時,修改是安全的。但是如果我們想既要共享又要可改變一個值,怎麼辦呢?Rust 標準庫為這種共享的可修改性提供了獨特的實現機制,即 UnsafeCell ,它創造性的結合 Send Sync Trait 以實現混合靜態檢查和執行時檢查來保證記憶體安全和執行緒安全

 

非凸科技是Rust 量化先行者,追求高效和極致。我們聘請優秀的人,採用先進的技術,建立卓越的團隊,成就不平凡的非凸,為量化行業帶來效率價值最大化!歡迎加入非凸,為自己拼搏,也成就彼此!

 

招聘崗位 R us t 開發工程師

 

工作內容

1 . 設計並開發基於R ust 的高效能,低時延演算法交易系統;

2 . 設計並開發資料處理平臺,監控運維平臺;

3 . 設計並開發面向客戶的高可用交易工具等;

4 . 設計並開發策略相關的回測平臺

 

崗位要求:

1 . 本科及以上學歷 985 優先 程式設計基礎紮實,具有良好的計算機理論基礎;

2 . 熟練掌握Linux 操作,效能分析,具備 Rust /C++/Java /Go 豐富開發經驗,熟悉常用的 計模式,有分散式相關經驗加分;

3 . 有研發高效能,低時延系統經驗加分;

4 . 對技術充滿熱情,思考深入 自我驅動,能快速學習新鮮事物。

 

B ase   ra n ge :

30K-60K+ 期權激勵 + 年終獎 + 員工福利

 

工作地點 北京 上海 成都 新加坡

簡歷傳送至 recruit@ft.tech

微信溝通 354334592

郵件註明 姓名 + 崗位 + 來源

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70008913/viewspace-2885862/,如需轉載,請註明出處,否則將追究法律責任。

相關文章