我的需求如下:
读取数据库中数据,并将某文件夹下图片转换后通过WebService传输。图片数据量比较大。
我的想法如下:
首先,设置两个线程类,一个负责转换图片,一个负责传输图片。
其次,在Main函数中分别生成两个线程,然后全部启动。我想两个线程轮流使用时间片,交替进行。或者单独执行任何一个,另一个等待执行都不冲突。但是我在实际测试过程中发现:两个线程只执行其中的某一个,另一个的状态为:Stopped。我感到很纳闷。
请大家指点。

解决方案 »

  1.   

    CPU在一个时间点只能为一个线程工作
      

  2.   

    估计你是把线程执行完毕了每个线程都对应一个void的函数,这个函数不能执行完毕返回,否则就stop了你在函数中不停循环,每个循环中加一点Thread.Sleep(10),就好了
      

  3.   

    宏观是同时执行的,微观上还是轮用CPU。
      

  4.   

    我是这样做的,想听您意见:
    设置一个定时器,定时执行某个函数。
    在这个函数中:我读取数据库中的数据后 分别赋给两个线程
    一个来转换图片 另一个传输 
    同时我判断两个线程是否正在运行 如果运行中 主线程Sleep(1000) 直到两个线程停止后,主线程继续运行。
      

  5.   

    我是这样做的,想听您意见:
    设置一个定时器,定时执行某个函数。
    在这个函数中:我读取数据库中的数据后 分别赋给两个线程
    一个来转换图片 另一个传输 
    同时我判断两个线程是否正在运行 如果运行中 主线程Sleep(1000) 直到两个线程停止后,主线程继续运行。
      

  6.   

    处理好线程的关系,一个线程执行结束,当然是stopped,加循环让他保持状态吧