【发布时间】:2013-07-04 02:36:17
【问题描述】:
我刚刚很好地使用了多线程。因此....我必须学习多线程。我有一个非常简单的程序:
void *listenloop(void *arg){
while (1){
Sleep(2000);
puts("testing 123\n");
}
return NULL;
}
int main(){
pthread_t listener;
pthread_create(&listener,NULL,listenloop,"foo");
char testinput[200];
while(1){
puts("Scanning: ");
scanf("%s",testinput);
puts("\n\n");
printf("You typed: %s: ",testinput);
}
}
理论是它等待用户输入,回显它,同时定期打印。
不出所料,实际上(对于我在这件事上的强者来说,很明显)输出是“一团糟”。
现在我可以想到几种方法解决这个问题,但没有实际的解决方案。这种性质的东西应该如何实施?是否可以只通过在程序显示给用户后对程序的输出进行操作来完成?
谢谢!
【问题讨论】:
-
你的意思是输出搞砸了?看起来对我来说应该没问题。向我们准确展示它的功能以及您希望它做什么。也没有“事后”
-
对不起,伙计们。修复了代码...
标签: c multithreading thread-safety