大家初学多线程的时候肯定都见过这个例子吧:4个窗口共同卖100张票,程序如下:
class TestThread
{
public static void main(String[] args)
{
MyThread mt = new MyThread();
new Thread(mt).start();
new Thread(mt).start();

展开全部
收起
3回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 爱吃糖的小女孩

    12人对此回答表示赞同

    1、while(true)不是死循环那才叫诡异
    这样改:
    int t=100;
    public void run()
    {
    while(t>0)
    {
    System.out.println(Thread.currentThread().getName()+"卖票"+t--);
    }
    展开
    12
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 多面体

    10人对此回答表示赞同

    楼主,这是一个多线程同步问题,我稍微修改了一下程序,仅供参考
    PS:四个线程不一定都能抢到CUP时间片,所以有些线程有可能卖不到票。楼主可以多运行几次,会得到不同的运行效果,非常有意思。呵呵。。。
    public class TestThread{

    public static void main(String[] args){
    MyThread mt = new MyThread();
    new Threa
    展开
    10
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 爬虫师

    3人对此回答表示赞同

    好像你应该在外面写各t--,打印的那个打分不晓得能起作用部?
    而且,你应该在不满足条件的情况下,跳去循环啊

    public void run()
    {
    while(true)
    {
    if(t>0)
    System.out.println(Thread.currentThread().getName()+"
    展开
    3
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部