5 个解决方案
#1
毫无直接关系。
#2
这样应该怎么写呢?给个思路呗
#3
一说到“多线程操作”,可能许多人就纠结于什么“数据队列、死循环”的编程。这完全是错误的思路,是 20年前一些低级的 java 入门书籍上的编程思路。
如果那你要发送数据,假设你希望异步发送数据,但是使用同步的操作的语句,你可以写(例如)
这里
1. 系统线程池本身就是一个高效率的、低消耗的、系统级的“任务队列”,你自己用不着纠结什么“发送队列”的编程问题;
2. 而 client1 之类的“设备对象”本身是数据对象,并不能直接扯上什么“线程”的问题。有的人以为“5个设备就应该启动5个线程”,这就是完全错误的知识。几个设备跟几个线程完全没有关系。
3. datareceived 体现了事件驱动的概念,有了事件那么底层系统会通知你,而不用你去轮询它。这用不着纠结什么“可以不可以用”的问题,而是应该学会使用。
如果那你要发送数据,假设你希望异步发送数据,但是使用同步的操作的语句,你可以写(例如)
ThreadPool.QueueUserWorkItem(h => client1.Send(dataBuffer));
这里
1. 系统线程池本身就是一个高效率的、低消耗的、系统级的“任务队列”,你自己用不着纠结什么“发送队列”的编程问题;
2. 而 client1 之类的“设备对象”本身是数据对象,并不能直接扯上什么“线程”的问题。有的人以为“5个设备就应该启动5个线程”,这就是完全错误的知识。几个设备跟几个线程完全没有关系。
3. datareceived 体现了事件驱动的概念,有了事件那么底层系统会通知你,而不用你去轮询它。这用不着纠结什么“可以不可以用”的问题,而是应该学会使用。
#4
自己看入门书。我只是针对(可能的)不同程度而给个提示,希望能帮你提出更有深度的问题。论坛不是重复刚学编程的“抄代码”的地方(而是你应该贴出书上没有的设计蓝图和代码),书店里卖的入门书以及大量的网络资料才是,希望你能理解。
#5
我现在遇到这样一个问题 ,我打开串口收数据,当接收量特别大的 时候,会出现串口断掉,不接收数据了,这个原因是什么?
#1
毫无直接关系。
#2
这样应该怎么写呢?给个思路呗
#3
一说到“多线程操作”,可能许多人就纠结于什么“数据队列、死循环”的编程。这完全是错误的思路,是 20年前一些低级的 java 入门书籍上的编程思路。
如果那你要发送数据,假设你希望异步发送数据,但是使用同步的操作的语句,你可以写(例如)
这里
1. 系统线程池本身就是一个高效率的、低消耗的、系统级的“任务队列”,你自己用不着纠结什么“发送队列”的编程问题;
2. 而 client1 之类的“设备对象”本身是数据对象,并不能直接扯上什么“线程”的问题。有的人以为“5个设备就应该启动5个线程”,这就是完全错误的知识。几个设备跟几个线程完全没有关系。
3. datareceived 体现了事件驱动的概念,有了事件那么底层系统会通知你,而不用你去轮询它。这用不着纠结什么“可以不可以用”的问题,而是应该学会使用。
如果那你要发送数据,假设你希望异步发送数据,但是使用同步的操作的语句,你可以写(例如)
ThreadPool.QueueUserWorkItem(h => client1.Send(dataBuffer));
这里
1. 系统线程池本身就是一个高效率的、低消耗的、系统级的“任务队列”,你自己用不着纠结什么“发送队列”的编程问题;
2. 而 client1 之类的“设备对象”本身是数据对象,并不能直接扯上什么“线程”的问题。有的人以为“5个设备就应该启动5个线程”,这就是完全错误的知识。几个设备跟几个线程完全没有关系。
3. datareceived 体现了事件驱动的概念,有了事件那么底层系统会通知你,而不用你去轮询它。这用不着纠结什么“可以不可以用”的问题,而是应该学会使用。
#4
自己看入门书。我只是针对(可能的)不同程度而给个提示,希望能帮你提出更有深度的问题。论坛不是重复刚学编程的“抄代码”的地方(而是你应该贴出书上没有的设计蓝图和代码),书店里卖的入门书以及大量的网络资料才是,希望你能理解。
#5
我现在遇到这样一个问题 ,我打开串口收数据,当接收量特别大的 时候,会出现串口断掉,不接收数据了,这个原因是什么?