Java System.out.println()如何在线程中工作?

Java System.out.println()如何在线程中工作?,java,Java,我有一个关于System类如何工作的问题 假设有一个服务器,它为连接到它的每个客户机创建一个线程,并且一个线程在某个时候调用System.out.println(消息)。哪台计算机将打印出该消息?是服务器计算机还是客户端计算机?创建线程的哪一方重要吗?每个线程都是在服务器的机器上创建的,并在服务器的机器上运行。System.out调用将打印在服务器机器上。每个线程都在服务器机器上创建并在服务器机器上运行。系统输出调用将打印在服务器的机器上。服务器将打印输出;System.out.println不

我有一个关于System类如何工作的问题


假设有一个服务器,它为连接到它的每个客户机创建一个线程,并且一个线程在某个时候调用System.out.println(消息)。哪台计算机将打印出该消息?是服务器计算机还是客户端计算机?创建线程的哪一方重要吗?

每个
线程都是在服务器的机器上创建的,并在服务器的机器上运行。
System.out
调用将打印在服务器机器上。

每个
线程都在服务器机器上创建并在服务器机器上运行。
系统输出
调用将打印在服务器的机器上。

服务器将打印输出;System.out.println不受从其调用的服务器客户端的外部条件的影响

服务器将打印出来;System.out.println不受从其调用的服务器客户端的外部条件的影响

哪台计算机将打印出该消息?是服务器计算机还是客户端计算机

它将在服务器上

哪一方创建了线程重要吗

客户端不可能在服务器上创建线程(反之亦然)。服务器可以创建新线程以响应来自客户端的连接,但这是完全不同的

简单地说:如果代码在服务器上运行,
System.out
在服务器上输出,除非有人通过重写正常行为并实现一个
PrintStream
,该输出通过存储在本地线程存储中的套接字输出。而他们不会,这将是一件疯狂的事情。:-)

哪台计算机将打印出该消息?是服务器计算机还是客户端计算机

它将在服务器上

哪一方创建了线程重要吗

客户端不可能在服务器上创建线程(反之亦然)。服务器可以创建新线程以响应来自客户端的连接,但这是完全不同的



简单地说:如果代码在服务器上运行,
System.out
在服务器上输出,除非有人通过重写正常行为并实现一个
PrintStream
,该输出通过存储在本地线程存储中的套接字输出。而他们不会,这将是一件疯狂的事情。:-)

服务器上的线程和与之对话的某个客户端上的线程之间没有关系。服务器上的System.out与任何客户端上碰巧与其对话的任何内容之间没有任何关系。将某些内容发送到System.out的效果(除非重定向)与程序是客户端、服务器还是衣架完全无关。

服务器上的线程与与与之对话的某个客户端上的线程之间没有关系。服务器上的System.out与任何客户端上碰巧与其对话的任何内容之间没有任何关系。将某些内容发送到System.out的效果(除非您重定向它)与该程序是客户端、服务器还是衣架完全无关。

是否真的有人问这个问题…?是的,我需要安心,以确保我没有做出粗心的假设@user1329572(如何使我的PHP直接在浏览器中执行?为什么我的服务器上有一堆消息框?)这不是一个关于
系统如何运行的问题。这是一个关于
系统是什么的问题。out
是什么。这个问题真的被问到了吗…?是的,我需要内心的平静来确保我没有做一个粗心的假设@user1329572(如何使我的PHP直接在浏览器中执行?为什么我的服务器上有一堆消息框?)这不是一个关于
System
类如何工作的问题。这是一个关于
System.out
是什么的问题。抱歉打扰一下,我有一个关于客户端无法创建线程的快速问题。如果我有一个服务器和一个客户端,客户端需要同时运行两个检查循环(如检查用户输入和服务器输入)我可以为客户端创建这样的线程吗?@CowZow-客户端不能在服务器上创建线程…但它可以在本地(即在客户端上)创建线程…假设客户端是用支持线程的语言实现的。(Javascript不…)它将位于包含System.out实例的JVM控制台上。客户端和服务器与此无关。@StephenC:JavaScript可以是多线程的,如果环境支持它的话。do,例如,via。确实没有任何语言功能支持它,但可以做到。抱歉打扰了,我有一个关于客户端无法创建线程的快速问题。如果我有一个服务器和一个客户端,客户端需要同时运行两个检查循环(如检查用户输入和服务器输入)我可以为客户端创建这样的线程吗?@CowZow-客户端不能在服务器上创建线程…但它可以在本地(即在客户端上)创建线程…假设客户端是用支持线程的语言实现的。(Javascript不…)它将位于包含System.out实例的JVM控制台上。客户端和服务器与此无关。@StephenC:JavaScript可以是多线程的,如果环境支持它。do,例如,via。确实没有任何语言功能支持它,但它可以做到。