请Java高手帮忙看看,这是我写愿得一人心空间链接个小程序,程序的Teacher代码段不能通过,其他的编译执行都可以,求解决

20:32:34【 转载互联网】 作者: &&|&责编:李强
&&& &为了解决用户可能碰到关于"Java多线程小程序错误,求解答"相关的问题,突袭网经过收集整理为用户提供相关的解决办法,请注意,解决办法仅供参考,不代表本网同意其意见,如有任何问题请与本网联系。"Java多线程小程序错误,求解答"相关的详细问题如下: public void run() {
firOrSen=false.start().myNotify().myWait();第一个建立的进程执行这里
if(firOrSen)
&#47,待会请直接联系我;).第二个新进程
new Thread(mt);second&
//first&
T第二个建立的进程执行这里
{S }}class MyThread implements Runnable{ MyTest mt=new MyTest();第一个新进程
new Thread(mt);
catch(Exception e)
}}我发不了完整的程序,不够控件;&#47.println(&quot.start();/); private boolean firOrSen=
mt.println(&quot.sleep(100).outclass TestWait{ public static void main(String[] args) {
MyThread mt=new MyThread()===========突袭网收集的解决方案如下===========
解决方案1:前者关键是下面的0This is i=0This is i=110This is i=01This is i=1在你T1第一次输出0后,当然,可以自由选择调度哪一个,所以时间片造成的放弃调度的问题基本不太可能(针对你的代码),这个时候T2运行输出了This is i=0; T2,T1和T2都已经“醒”了,反而效率更高些,因为要执行的操作肯定用不了半个时间片就足够了。从上面可以非常明显的看出来,程序都是一致的。同步使用信号量的方法就足够了,是通过分配时间片来实现的,我想1个时间片对于这个程序来说,时间片是一定的。那算法是怎么样的是2L说的和你现在出现的这个错误无关,明明是T2在睡眠嘛;&#47,历史上有无数种线程调度算法。取你的代码的关键部分SLEEP函数,作为一个程序员。这个算法由操作系统决定,你的两个线程都是用户级线程(一般核心级线程要显示的指明.start();放弃时间片就好了。 并且,其实你的多线程代码问题很多,基本保证了是原子的,因为开销过大),但是没能够保证顺序,这个时间的最大程度就是时间片(如果不考虑抢占的问题,是有一个算法来决定调度系统所有线程的先后顺序(这里为了方便解释,同步那绝对在多个线程之间避免不了共享,从CPU指令的时间上也可以推出来。T1执行时首先while{if(i==0){i++,为什么现在反而T2先比T1先运行,即你要保证无论哪个线程先执行,解释输出,CPU是先调度进程,2定时让自己变得可以重新调度(你设定的时间内此线程是不可调度的)Tsleep1 T1= new Tsleep1(),这个过程不太可能有同步的问题;&#47,初始化为0,这个基本是肯定的。其实你说这个问题如果往深处说就复杂了,这个时候操作系统要根据自己的算法去决定。两个线程共享全局变量i,操作系统视为平等,T2后醒,1放弃时间片立即让操作系统进行下一次调度。关键是第3行开始。try{
sleep(1000),然后进程才决定让谁先运行,只是表达意思,也确实这样,关键是第一次输出的问题。伪代码,两件事,T2后START,需要进行同步,自己同步就行了,虽然2L保证了每次操作的原子性,即使两者都是核心级线程:CPU对线程的执行?原因是,等到再次轮到你的进程的时候;&#47,而且你执行操作极少,因为相对1S来说,这个算法并不是先进先出的;Tsleep2 T2= new Tsleep2();说明T1完后又再次先于T2被调度了,也可能另外其他程序长期占用了CPU而使得下一次调度的时候对两者的调度发生细微的顺序差异,而核心线程是CPU直接知道的并且直接调度的),但是在你这个程序里表现不出来。为了解释一些东西,可能是看不出来效果的,T2进入睡眠了。别说面相对象就不使用全局变量,但是两者没有优先级的区别:CPU对线程的调度:这个函数到底做了什么,这种情况下;执行你想的操作sleep(0),现在经过前面的调度,先解释一些概念。在T2睡眠的时候。所以第一个输出一定是输出0,CPU调度其他进程,我全部认为是核心线程,用户线程是通过进程间接调度的,只能简单的去说时间片,你只能认为是不可知的;&#47。所以即使你T1先START,即每个线程每次运行都有一个时间限制,即每个线程每次都运行一个完整的时间片的时间)线程调度算法;
}好了,同时保证了每次操作是原子的也保证了顺序,即使你T1先醒,不能超过这个时间;执行你想的操作sleep(0)}else{ sleep(0);你的程序里绝对T1会先执行完一次循环,而不存在用户线程,没必要等那么久}else{ sleep(0),即CPU并不知道有用户线程存在;/ T1,立即放弃时间片}}对于T2while{if(i==1){i--.start(),调用SLEEP放弃了时间片,时间片实在是太短了,仍然无法保证以后T1先于T2;&#47,是绝对可以把几行代码执行完的
================可能对您有帮助================
问:public void run() { Object obj=new Object(); while(isNotEmpty) { if...答:您好,提问者: 你要把Object obj = new Object(); 定义在run方法外面。 另外可以使用静态锁,synchronized(Object.class)这样保险。 放到里面的话,每次开启一个线程运行run方法,就会创建多个。 方法二:可以修改为方法锁,public synchronize...===========================================问:这个程序一个线程画圆,一个线程画矩形,我用了synchronized这个关键字...答:mark 个人觉得你使用sleep(1000)并不能把线程锁死啊,等时间到了,线程自己就获取到锁执行了===========================================问:现在在学多线程,下面这个程序运行之后不是我想要的结果,为什么?程序...答:你把数字改大点就好了 不过不会一个一个交错的 这个设计cpu时间片的问题 应该是A线程执行一段时间 然后主线程执行一段时间交互的 即使是双核处理器 两个线程同时运行 也会有效率不同的问题的===========================================问:package text0; public class TheardText { public class sound { priva...答:看了你的代码,我不淡定了.不知道你是刻意写成这个样子的还是怎么 JAVA规范里面类名一般用大写。不管是外部类,还是内部类。 你代码错的地方就是你 startDi startDo这两个是内部类,而内部类必需依赖外部类去实例化。改成下面这样就行了。 Thread ...===========================================问:package com. class SunThread1 extends Thread{ public void run()...答:你这个部报错么 SunThread1里面没有setname的方法啊 应该是 SunThread1 st = new SunThread1(); Thread.currentThread().setName("子线程"); st.run(); Thread.currentThread().setName("主线程"); for(int i = 1;i===========================================问:java中,我在函数外面定义的变量,函数内部里调用修改,如果我多线程调...答:你说的外面指的是哪外面啊?temp和get()不在一个类里面吗? 应该是没会出问题的===========================================问:-----------------------------ShareData类---------------------------...答:首先请放下代码不看,从java面向对象的编程思维角度去分析如何实现生产和消费共享数据的功能。实现这个功能 要清楚你所看到的对象有几个 很明显的两个实体是 生产者和消费者 继续分析明白 生产商品的数量需要根据消费者的消费数量 二者必须是同...===========================================问:如题 其他java小程序也可以 多线程的就好 越简单月号答:import java.text.DateF import java.text.SimpleDateF import java.util.C /** * 一个通过实现Runnable接口,来创建的进程 * * @author Administrator */ public class TimeThread implements Runnable { private DateForm...===========================================
12345678910为了练习包的使用,写了一个小程序。可一直编译不通过,请各位大神指教 javac -d. Hello.java_百度知道
为了练习包的使用,写了一个小程序。可一直编译不通过,请各位大神指教 javac -d. Hello.java
public class Hello
{ public static void main(String[] args)
System.out.println(&Hello World!&); }}
我用EditPlus 编译能够自包创建文件夹dos 窗口用javac 编译却直报错我使用指令 javac -d. Hello.java报错提示说:E:\java\视频\J2EE_PPT\javase\CH04\理论&javac -d. Hello.javajavac: 效标志: -d.用: javac &options& &source files&-help 用于列能选项谢谢各位本刚始菜鸟枚
提问者采纳
dos窗口敲指令javac看看提示嘛输入指令javac 指定选项-d &目录&
作用指定存放类文件位置说-d要指定目录存放类文件class文件直接尝试javac Hello.java或者javac -d . Hello.java其-d. d 间空格. 代表前目录试试吧
提问者评价
果然可以了,太感谢了。我试了很久弄没弄明白,你这么一说,终于明白了。谢谢啊。
其他类似问题
javac的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁22:04:09【 转载互联网】 作者: &&|&责编:李强
&&& &为了解决用户可能碰到关于"一个简单的struts2的login程序,小弟做的第一个struts2小程序就出错了,备受打击啊,请高手们帮帮忙,看看"相关的问题,突袭网经过收集整理为用户提供相关的解决办法,请注意,解决办法仅供参考,不代表本网同意其意见,如有任何问题请与本网联系。"一个简单的struts2的login程序,小弟做的第一个struts2小程序就出错了,备受打击啊,请高手们帮帮忙,看看"相关的详细问题如下:RT,我想知道:一个简单的struts2的login程序,小弟做的第一个struts2小程序就出错了,备受打击啊,请高手们帮帮忙,看看===========突袭网收集的解决方案如下===========
解决方案1:&lt.&gt:&lt://java:/// charset=ISO-8859-1&quot.01 Transitional//html://java.sun.xwork2;submit&struts-default&quot.org/2001/XMLSchema-instance" target="_blank">username&DTD Struts Configuration 2./&}public String getPassword() { ;br&gt!DOCTYPE html PUBLIC &.org/TR/html4/
&public String getUsername() {
& &lt.package&DTD HTML 4.w3;
&UTF-8&result&post&:&
&&#47:///text/meta http-equiv=& &&&form action=& &name=&/xml/ns/javaee" target="_blank">http.test.dtd" target="_blank">http.apache:web=&quot.0&*&html&body&gt.jsp&lt.org/TR/html4/ encoding=&result.xml.web-app_2_5.xsd&quot.5&
&/&name=&1;result&gt.input type=&/xml/ns/javaee" target="_blank">&#47.LoginAction&quot.jsp.filter-mapping&&
pageEncoding=&quot:&filter-mapping&gt. &&#47.-&#47.w3;&#47.01 Transitional&#47?xml version=&%@ page language=&&lt.;head&&#47.org/TR/html4/loose.}}wep.result://web-app&username./&&html.0;&&#47.com/xml/ns/javaee" target="_blank">url-pattern&&/xml/ns/javaee&submit&br&url-pattern&;&&lt:xsi=&/&-/title& contentType=&action&head& xmlns=&com?&gt://www://html&ISO-8859-1&quot:&value=&web-/xml/ns/javaee//UTF-8&Content-Type&quot.StrutsPrepareAndExecuteFilter
&lt://& version=&/password&/login&quot:${requestSbody&gt.xsd&}public void setUsername(String username) { this.org/TR/html4/.password }&text/&title&gt://java.ActionS
&& contentType=&}public void setPassword(String password) { &&
&W3C//action name=&/body&br& &// extends=&import com://www.struts2;Apache Software Foundation//Insert title here&& public class LoginAction extends ActionSupport
{private Smethod=&quot.w3.w3;&lt.opensymphony.
pageEncoding=&quot.username =head&&&package name=& charset=ISO-8859-1&private String password://www./web-app_2_5;struts&html:${requestSmeta http-equiv=&&DTD HTML 4.password&&&#47. content=&quot?xml version=&quot.org/dtds/struts-2;/xml/ns/javaee
& class=&text& id=&&text/&lt://&filter-class&&title&&
&Struts2&%&gt://struts://
&W3C/ content=&/&lt.0;&#47.2.dtd&form&/struts&&
&&gt.action&quot?&gt://java&&EN&quot.w3; .com/xml/ns/javaee/text/&EN&filter-name&input type=&quot.org/2001/XMLSchema-instance&filter& charset=ISO-8859-1&head&.login://br&filter-class&/struts2&lt.0/-/ charset=ISO-8859-1&Insert title here&lt.w3:schemaLocation=&filter-name&gt!DOCTYPE struts PUBLIC
&1;/}public String execute()throws Exception{ return &&&lt.dtd&WebApp_ID&input type=&/xml/ns/javaee" target="_blank">Content-Type&quot!DOCTYPE html PUBLIC &%&
& encoding=&ISO-8859-1&&
&lt.dtd&quot解决方案2:这是个入门struts2非常简单的程序,大家帮帮忙,分数可以加,要多少有多少解决方案3:把异常信息贴出来 wep.xml:中的struts2
映射的名字不一样 注意大小写解决方案4:贴不了啊,说我的问题已经超过长度限度了,不能在加了解决方案5:web.xml:中的struts2
映射的名字不一样 注意大小写解决方案6:把报的异常贴上来..解决方案7:哦,我就贴上来那个login程序就启动不了,在修改web.XML之前还可以打开你能把你QQ邮箱告诉我么,我把错误的文本发到你邮箱,解决方案8:异常呢?解决方案9:哦,我就贴上来那个login程序就启动不了,在修改web.XML之前还可以打开你能把你QQ邮箱告诉我么,我把错误的文本发到你邮箱,解决方案10:&struts&
&package name=&struts2& extends=&struts-default&&
&action name=&login& class=&com.test.action.LoginAction&&
&result&/result.jsp&/result&
&/package&
&/struts&这里面要填写namespace貌似解决方案11:那怎么写,怎么修改解决方案12:&package name=&sell& extends=&default& namespace=&/sell&& namespace一定要用/或者是/other
, 如果你的action name=login
namespace=&/a&访问的时候就是用/a/login!method解决方案13:改了,还是错误的解决方案14:那个return “success”你定义了没有?解决方案15:&result name=&success&&/result.jsp&/result&解决方案16:&result&/result.jsp&/result& 改成 &result name=&success&&/result.jsp&/result&解决方案17:老大你Action中返回的success要对应struts.xml配置中的result的name
&result name = &success&&/result.jsp&/result&解决方案18:呵呵,那个是有问题,主要问题是少了库文件
12345678910}

我要回帖

更多关于 愿得一人心空间链接 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信