当前位置: 首页 > news >正文

建站公司怎么备案北京到广州高铁多长时间

建站公司怎么备案,北京到广州高铁多长时间,创建网站英文,上海优化外包公司排名做纯粹的自己。“你要搞清楚自己人生的剧本——不是父母的续集,不是子女的前传,更不是朋友的外篇。对待生命你不妨再大胆一点,因为你好歹要失去它。如果这世上真有奇迹,那只是努力的另一个名字”。 一、crossbeam_channel 参考 crossbeam_channel - Rust crossbeam_channel…

做纯粹的自己。“你要搞清楚自己人生的剧本——不是父母的续集,不是子女的前传,更不是朋友的外篇。对待生命你不妨再大胆一点,因为你好歹要失去它。如果这世上真有奇迹,那只是努力的另一个名字”。

一、crossbeam_channel

参考 crossbeam_channel - Rust

crossbeam_channel 是一个多生产者多消费者通道,用于消息传递,它是std::sync::mpsc的替代品,具有更多的功能和更好的性能。

二、Channel 类型

通道可以使用两个函数创建:

  1. bounded 函数创建一个容量有限的信道,即一个信道一次可以容纳的消息数量是有限制的。
  2. unbounded 函数创建一个容量无界的信道,即它一次可以容纳任意数量的消息。

这两个函数都返回一个发送方 Sender 和一个接收方 Receiver,它们代表通道的相反两端。

创建一个有界 Channel:

use crossbeam_channel::bounded;// Create a channel that can hold at most 5 messages at a time.
let (s, r) = bounded(5);// Can send only 5 messages without blocking.
for i in 0..5 {s.send(i).unwrap();
}// Another call to `send` would block because the channel is full.
// s.send(5).unwrap();

创建一个无界 Channel:

use crossbeam_channel::unbounded;// Create an unbounded channel.
let (s, r) = unbounded();// Can send any number of messages into the channel without blocking.
for i in 0..1000 {s.send(i).unwrap();
}

三、通过 JNI 使用 Channel

Java 端可以通过 JNI 调用 getSender 获取发送端指针,调用 sendMessage 发送消息到 Rust 中的处理线程,由 Rust 负责处理核心逻辑。

1、新建一个 Rust 库项目

cargo new rust_jni_channel_test --lib

添加依赖包, 

# Cargo.toml[dependencies]
jni = "0.21.1"
lazy_static = "1.5.0"
crossbeam-channel = "0.5.13"
#log = "0.4"
#env_logger = "0.11"[lib]
crate_type = ["cdylib"]

实现 JNI 模块函数, 

// lib.rs#[macro_use]
extern crate lazy_static;use jni::objects::{JClass, JObject};
use jni::sys::{jlong, jobject};
use jni::JNIEnv;
use crossbeam_channel::{unbounded, Sender, Receiver};
use std::thread;lazy_static! {static ref SENDER: Sender<String> = {let (sender, receiver) = unbounded();// Spawn a thread to handle the receiverthread::spawn(move || {for message in receiver.iter() {println!("Received message: {}", message);}});sender};
}#[no_mangle]
pub extern "system" fn Java_com_yushanma_MyResultHandler_getSender(_env: JNIEnv,_class: JClass,
) -> jlong {let sender_ptr = Box::into_raw(Box::new(SENDER.clone())) as jlong;sender_ptr
}#[no_mangle]
pub extern "system" fn Java_com_yushanma_MyResultHandler_sendMessage(mut env: JNIEnv,_class: JClass,sender_ptr: jlong,message: JObject,
) {let sender = unsafe { &*(sender_ptr as *mut Sender<String>) };let message: String = env.get_string(&message.into()).expect("Couldn't get java
http://www.yayakq.cn/news/32730/

相关文章:

  • 网站建设的实施制作阶段包括wordpress上传失败
  • 微网站开发企业选择墨刀可以做网站原型图吗
  • wordpress被植入广告插件关键词排名优化佛山售后
  • 网站建设需要注意的问题杭州专业网站营销
  • 做盗版音乐网站国外做衣服网站
  • 防伪码查询网站怎么做的公司网站建设费用包括哪些
  • 南通市通州建设局网站宁波seo网络推广优化价格
  • 企业做app好还是网站好即墨做网站公司
  • 不用下载劰网站的片你懂的wordpress 5.0.3
  • 用jsp做网站的体会简述电子商务网站的建设步骤
  • 重庆住房和城乡建设厅网站首页wordpress伪静态 加速
  • wordpress 文章分享优化人员是什么意思
  • 专业做网站交易平台网站程序
  • 广东省建设厅网站可以查dz网站如何做301
  • 2003系统做网站wordpress python采集器
  • 厦门安岭路网站建设新浪sae安装wordpress
  • 现在做网站还有出路吗上海十大网站建
  • 怎么做网站的301免费建设微网站制作
  • 国外展柜网站网站设为首页代码
  • 网站地图代码51单片机可以做网站
  • 旅游网站建设的利益个人网站申请空间
  • 全景网站制作教程做磁性材料在哪些网站推广比较好
  • 免费网站apphtml简单网站建设代码
  • 儿童设计网站人才招聘网站建设
  • 中国网站开发建设银行亚洲官方网站
  • 旅行社建网站哪些网站有二维码
  • 网站优化的作业及意义东莞厚街镇属于哪个区
  • layui做网站前端南通哪些公司做网站
  • 物流网站开发公司广州最新防疫动态
  • 网站建设多少预算商城模板html