Pārlūkot izejas kodu

不使用骚操作让cpu休眠了。

skyfffire 1 gadu atpakaļ
vecāks
revīzija
e8a3fcd688
1 mainītis faili ar 21 papildinājumiem un 21 dzēšanām
  1. 21 21
      exchanges/src/socket_tool.rs

+ 21 - 21
exchanges/src/socket_tool.rs

@@ -10,7 +10,7 @@ use futures_util::stream::{SplitSink, SplitStream};
 use ring::hmac;
 use serde_json::json;
 use tokio::net::TcpStream;
-use tokio::{spawn, time};
+use tokio::{spawn};
 use tokio::sync::Mutex;
 use tokio_tungstenite::{connect_async, MaybeTlsStream, WebSocketStream};
 use tokio_tungstenite::tungstenite::{Error, Message};
@@ -189,26 +189,26 @@ impl AbstractWsMode {
                         Ok::<(), Error>(())
                     };
 
-                    // 防止 cpu 休眠。
-                    let read2 = read_arc.clone();
-                    spawn(async move {
-                        let t_str = "t".to_string();
-                        let response = ResponseData::new(t_str.clone(),
-                                                  t_str.clone(),
-                                                  t_str.clone(),
-                                                  t_str.clone());
-                        loop {
-                            time::sleep(Duration::from_nanos(1)).await;
-
-                            let t = response.clone();
-                            let r = read2.clone();
-                            spawn(async move {
-                                let read = r.lock().await;
-
-                                read.unbounded_send(t.clone()).unwrap();
-                            });
-                        }
-                    });
+                    // // 防止 cpu 休眠。
+                    // let read2 = read_arc.clone();
+                    // spawn(async move {
+                    //     let t_str = "t".to_string();
+                    //     let response = ResponseData::new(t_str.clone(),
+                    //                               t_str.clone(),
+                    //                               t_str.clone(),
+                    //                               t_str.clone());
+                    //     loop {
+                    //         time::sleep(Duration::from_nanos(1)).await;
+                    //
+                    //         let t = response.clone();
+                    //         let r = read2.clone();
+                    //         spawn(async move {
+                    //             let read = r.lock().await;
+                    //
+                    //             read.unbounded_send(t.clone()).unwrap();
+                    //         });
+                    //     }
+                    // });
 
                     //必须操作。,因为不同于其他的高级语言,有自动内存管理,所以为了防范地址改变,所以需要做此处理
                     pin_mut!(stdin_to_ws, ws_to_stdout,);