如何在线程间传递一个字符串之类的变量?(100分)

  • 主题发起人 主题发起人 绝对新手
  • 开始时间 开始时间

绝对新手

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在有一个收发信息用的线程一个工作线程。
当收发信息收到的命令的时候创建一个工作线程来执行(执行完毕后工作线程free),当工作线程执行结束后怎样把结果返回给收发信息的线程(这个返回的结果可能是一个很长的字符串也可能是别的类型)?
再问个题外的,我的这个工作线程可能在同一时间多次创建,我怎样能正确的区分工作线程以便PostThreadMessage可以发送给正确的线程的运行指令(这个工作线程中包含多项不同工作的代码,根据收到的消息选择代码执行)?
谢谢大家 大家有一说一 帮帮我这个新手
 
threadvar S: string;
 
详细一些可以嘛?
 
关于第一个问题,使用消息来解决最好,自定义一个消息就搞定了,把要发送的字符串封装到消息里面。
关于第二个问题,你的工作线程多次创建是什么意思呢?可以详细说明嘛?
 
我是新手,不是很明白
 
第一个问题,上面的兄弟已经提到,使用消息来实现
第二个问题,建议不要使用线程多次创建的方法,可以使用一个线程,使用While(True)形成死循环。然后定义一个队列,线程循环体不断访问队列,如果有运行指令则解析指令。
在你需要发送指令的时候(就是你说的你现在的思路要创建线程的时候),让指令进队,线程依次处理队列中指令
思路供参考
 
后退
顶部