老师你好,在测试的时候出现了错误,请您帮忙看一下
错误截图
源码
package server; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; import java.net.ServerSocket; import java.net.Socket; import java.nio.charset.Charset; import IOCloseUtil.IOCloseUtil; import Servlet.Servlet; public class Server {//用于服务器的启动与停止 private ServerSocket server; public static void main(String[] args) { Server server = new Server(); server.start(); } public void start() { this.start(8888); } public void start(int port) { try { server = new ServerSocket(port); this.receive(); } catch (IOException e) { e.printStackTrace(); } } private void receive() { try { //监听 Socket client = server.accept(); /**封装请求信息*/ Request req = new Request(client.getInputStream()); /**做出响应*/ /* StringBuilder sb = new StringBuilder(); sb.append("HTTP/1.1").append(" ").append(200).append(" ").append("ok").append("\r\n"); sb.append("Content-type:text/html;charset=utf-8").append("\r\n"); //内容 String str="<html><head><title>响应结果</title></head><body>成功<body></html>"; sb.append("Content-Length:"+str.getBytes("utf-8").length).append("\r\n"); sb.append("\r\n"); sb.append(str); //通过输出流发送出去 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream(),"utf-8")); bw.write(sb.toString()); bw.flush(); bw.close(); */ Response rep = new Response(client.getOutputStream()); Servlet servlet = WebApps.getServlet(req.getUrl()); int code =200; if(servlet==null) { //servlet未创建成功 code = 404; } //调用Servlet中服务的方法 try { servlet.service(req, rep); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } rep.PushToClient(code); IOCloseUtil.closeAll(client); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
老师,为什么这些语句前一定要加一个while True?
这个语句的作用是什么呢?
老师我想问一下,高老师在类中可以定义静态的main方法, 为什么我定义就是错的?
一、代码
#coding=utf-8 import threading import time from queue import Queue class Pro(threading.Thread): def run(self): global q count=0 while True: if q.qsize()<100: for i in range(10): count = count+1 msg = "生成产品"+str(count) q.put(msg) print(msg) time.sleep(1) class Con(threading.Thread): def run(self): global q while True: if q.qsize()>10: for i in range(3): msg = self.name + "消费了" + q.get() print(msg) time.sleep(1) if __name__ == "__main__": q = Queue() for i in range(50): q.put("初始产品"+str(i)) print("初始产品"+str(i)) for i in range(2): p = Pro() p.start() for i in range(5): c = Con() c.start()
二、运行结果
生成产品1
生成产品2
生成产品3
生成产品4
生成产品5
生成产品6
生成产品7
生成产品8
生成产品9
生成产品10
Thread-3消费了初始产品0
Thread-3消费了初始产品1
Thread-3消费了初始产品2
Thread-4消费了初始产品3
Thread-4消费了初始产品4
Thread-4消费了初始产品5
Thread-5消费了初始产品6
Thread-5消费了初始产品7
Thread-5消费了初始产品8
Thread-6消费了初始产品9
Thread-6消费了初始产品10
Thread-6消费了初始产品11
Thread-7消费了初始产品12
Thread-7消费了初始产品13
Thread-7消费了初始产品14
Thread-4消费了初始产品15
Thread-4消费了初始产品16
Thread-4消费了初始产品17
生成产品11
生成产品12
生成产品13
生成产品14
生成产品15
生成产品16
Thread-3消费了初始产品18
Thread-3消费了初始产品19
Thread-3消费了初始产品20
生成产品17
生成产品18
生成产品19
生成产品20
Thread-7消费了初始产品21
Thread-6消费了初始产品22
Thread-6消费了初始产品23
Thread-6消费了初始产品24
Thread-7消费了初始产品25
Thread-7消费了初始产品26
Thread-5消费了初始产品27
Thread-5消费了初始产品28
Thread-5消费了初始产品29
Thread-4消费了初始产品30
Thread-4消费了初始产品31
Thread-4消费了初始产品32
Thread-3消费了初始产品33
Thread-3消费了初始产品34
Thread-3消费了初始产品35
Thread-5消费了初始产品36
Thread-5消费了初始产品37
Thread-5消费了初始产品38
Thread-6消费了初始产品39
Thread-6消费了初始产品40
Thread-6消费了初始产品41
生成产品21
生成产品22
生成产品23
生成产品24
生成产品25
生成产品26
生成产品27
生成产品28
Thread-7消费了初始产品42
Thread-7消费了初始产品43
Thread-7消费了初始产品44
生成产品29
生成产品30
三、问题
上述程序创造了2个产生数据的线程p1、p2,和五个输出数据的线程c1/2/3/4/5,产生数据的线程是一个循环,产生10个数据,消费数据的线程是输出3个线程,我知道线程之间是交替执行的,但是从结果中看出,一个线程的循环都没有结束都跳去了另一个线程里呢,而且还没有规律,请问老师这样是为什么?线程交替运行这么不可控,他存在的意思是啥,都不能用来计算?
老师,这个第九行为什么会报错,输入了两个参数呢
老师你课上讲错了。。。 下表是从1开始 然后奇数 偶数行 说反了。。。 所以到底 你说的正确呢 还是这个答案是有问题的呢??我是按你说的 填的 然后错了
不懂这个root ,为什么要用root,感觉无缘无故
这节资料没上传完吧,我想要require.js文件
老师我为什么创建的变量 t = turtle.pen() 导致后面代码运行不了?
老师你好:
print(id(test01())) 打印出来的是什么?
老师 : 我的pychram 写模板语言的时候,不会自动关联文件夹和文件 是需要设置嘛
请问老师,ORALCE的安装包在哪里能找到呢?
老师,我点击这个mysql的客户端,总是出现一闪就退的情况下,根本打不开。
服务也是出现这样的问题,mysql启动不了。
环境我也配置好了,也重新安装过,就是解决不了。
如果在pyCharm中编好一段完整的代码,运行后发现一个变量无用,直接删掉这行代码和用视频中的del删除该变量有什么区别?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637