托管还是多线程解决思路

托管还是多线程
各位专家好:

我为公司做仓库程序,其中有个扫描枪任何时刻都能进行扫描,我已经作了一个开始扫描按钮,即在开始扫描以后,焦点就在文本框里面了。但是接下来面临一个问题,就是扫描一次以后,程序要做一些处理,而紧接着下一次扫描可能又要开始了,我不知道是做托管还是多线程来处理!

希望大家能给个意见,当然方法不仅仅局限于托管与多线程。

------解决方案--------------------
我觉得,不是什么委托与多线程的事情,而是异步操作与队列的事情。
------解决方案--------------------
1。 先建立你要异步调用处理的子程序,格式同下:
Private Sub SerialPort_bytes_Receive(ByVal SerialPort_Name As System.Object, ByVal e As System.EventArgs) '有数据来,接收数据处理。
End Sub
2。 再在你需要调用的地方如此调用:
BeginInvoke(New EventHandler(AddressOf SerialPort_bytes_Receive), "") '异步调用, 不传参数时用“”替

3。 若要调用参数可以将“”改为需要的单个参数,还可以是类参数这样可以多参数,
 BeginInvoke(New EventHandler(AddressOf SerialPort_bytes_Receive), SerialPort_Name ) '异步调用, SerialPort_Name 为参数举例
4。 wince中不支持多参数,你可以将参数设为全局变量,这样也是个好的传替办法。
5。最好在要调用的子程序段中输入和输出加一个,正在运行的标记,以判断该程序的运行特点。
也可以不用,因为系统自动为其排队处理了。