申请商标名称是晚1年,因于高近注册不了!

近日有个企业朋友联系商标知产老杨申请注册商标,发来名称经过检索发现,这个名称与一年前申请注册的有一个高度近似,如果现在去申请注册大概率因为这个商标被驳回,企业朋友公司成立近10年了,也有几家自营的店铺,最近年想发展加盟店,加盟店前提得要有商标。

对于集合店,就是售卖别家东西,主要核心类别是35类中的替他人推销,涉及加盟的有里面小类特许经营的商业管理,每年35类都是申请排名第一类别,许多核心的小类都在里面,这位企业朋友说名称用了近十年了,直接改名也不是不太好,高度近似的去年才注册下证,想复审拿下商标基本上也是不可能。

现在这样的情况,想少花钱拿下商标, 只有改商标名称里面的字,四个字可以改后面两个字,但是不要加通用字词或功效词,据普推老杨的经验,大约是15个左右里面一个通过概率达到中以上名称,当然如在一开始就去申请商标注册,那时两个字也好申请,申请注册商标除了一开始申请,最好时间就是当下。

<think>我们正在讨论Muduo网络库的I/O模型。根据引用[3]和引用[4]的信息,我们可以分析Muduo的I/O模型。 引用[3]提到:阻塞、非阻塞、同步、异步分别是两个阶段(数据准备与数据读写)下不同形式的体现。 引用[4]提到:Muduo采用“非阻塞I/O + I/O复用”方式,并且采用“one loop per thread”模型。 在Linux下,I/O复用(如epoll)属于同步I/O模型,因为当epoll_wait返回时,表示有事件就绪,但随后的数据读写操作(recv/send)仍然是同步进行的(需要等待数据从内核缓冲区拷贝到用户缓冲区)。而异步I/O(如AIO)则是内核完成所有操作(包括数据拷贝)后通知应用程序,应用程序无需自己进行读写操作。 Muduo网络库的I/O模型设计: 1. 使用非阻塞I/O:避免在单个socket上的I/O操作阻塞整个线程。 2. 使用I/O复用(如epoll):监控多个socket的事件,当事件就绪时,由事件循环(EventLoop)派发到对应的回调函数进行处理。 3. 每个线程运行一个事件循环(one loop per thread):事件循环负责处理I/O事件和定时器事件等。 因此,Muduo网络库的I/O模型属于同步非阻塞模型,而不是异步I/O模型。 总结:Muduo网络库使用同步I/O模型(具体为同步非阻塞I/O + I/O复用),通过多线程和事件驱动来实现性能。 引用说明: - 引用[3]介绍了Linux的五种I/O模型,其中提到同步和异步的区别。 - 引用[4]说明了Muduo采用非阻塞I/O和I/O复用,并且采用每个线程一个事件循环的模型。 相关问题: 1. Muduo网络库的事件循环(EventLoop)是如何工作的? 2. 为什么Muduo选择同步非阻塞I/O模型而不是异步I/O? 3. Muduo如何处理并发连接? 4. Muduo网络库中的线程模型是怎样的?</think>### C++ Muduo网络库的I/O模型分析 Muduo网络库采用**同步非阻塞I/O + I/O复用**模型,具体分析如下: #### 核心机制 1. **同步非阻塞I/O** - 所有I/O操作(accept/read/write)在用户态线程中同步执行 - 使用非阻塞套接字(`O_NONBLOCK`标志),避免单次I/O操作阻塞整个线程 - 开发者通过回调函数处理I/O事件,但执行过程是同步的[^3] 2. **I/O复用技术** - 底层使用Linux的`epoll`系统调用(边缘触发ET模式) - 主循环通过`epoll_wait`监控多个文件描述符的事件 - 单线程可处理数千并发连接[^4] 3. **线程模型** ```mermaid graph TD A[主线程] -->|创建| B[EventLoop线程1] A -->|创建| C[EventLoop线程2] A -->|创建| D[EventLoop线程N] B --> E[epoll_wait] C --> F[epoll_wait] D --> G[epoll_wait] ``` - 采用"one loop per thread"架构 - 每个线程运行独立的事件循环(EventLoop) - I/O线程专注网络I/O,计算任务交给工作线程[^4] #### 性能特点 | 特性 | Muduo实现 | 优势 | |---------------------|------------------------------|-------------------------------| | 并发处理能力 | 多EventLoop线程 | 多核CPU利用率100% | | 事件通知效率 | epoll边缘触发(ET) | 减少系统调用次数 | | 吞吐量 | 比libevent2倍(多线程)[^2] | 优化线程间任务调度 | | 延迟控制 | 零拷贝技术 + 时间轮定时器 | 减少内存复制,精准超时控制 | #### 与异步I/O的本质区别 1. **数据拷贝位置** - Muduo:数据在内核态→用户态拷贝时线程需等待(同步) - 真异步I/O:内核完成所有操作后通知应用(如Linux AIO) 2. **编程模型** ```cpp // Muduo的同步风格回调 void onMessage(TcpConnectionPtr conn, Buffer* buf) { // 同步处理数据 string msg = buf->retrieveAllAsString(); conn->send(msg); // 同步发送 } ``` - 开发者需主动处理数据收发 - 异步I/O只需提交请求,由内核完成操作 3. **适用场景** - Muduo模型:并发网络服务(Web服务器/即时通讯) - 真异步I/O:大文件传输/存储系统 > 陈硕在Muduo设计文档中强调:*"Linux下成熟的异步I/O方案(如AIO)对网络编程支持不足,而epoll+非阻塞I/O的组合已被证明能支持百万级并发"*。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值