您的位置:首页 > 其它

多线程访问共同资源(队列,多线程,锁机制)

2015-03-16 19:32 323 查看
模拟场景:main方法为网络请求线程(也叫生产者线程),在网络请求线程中开启四个线程(消费者线程),进行高效处理队列中的共同资源(生产者线程生产的共同资源),等待资源处理完毕,网络请求线程执行结束,响应客户端。

消费者线程的线程体

MyThread.run(-->)THREAD2【2sxf】  时间: 19:39:06 127
MyThread.run(-->)THREAD3【0sxf】  时间: 19:39:06 127
MyThread.run(-->)THREAD0【1sxf】  时间: 19:39:06 127
MyThread.run(-->)THREAD2【4sxf】  时间: 19:39:06 128
MyThread.run(-->)THREAD0【6sxf】  时间: 19:39:06 128
MyThread.run(-->)THREAD1【3sxf】  时间: 19:39:06 127
MyThread.run(-->)THREAD2【7sxf】  时间: 19:39:06 128
MyThread.run(-->)THREAD0【8sxf】  时间: 19:39:06 128
MyThread.run(-->)THREAD3【5sxf】  时间: 19:39:06 128
MyThread.run(-->)THREAD2【10sxf】  时间: 19:39:06 128
MyThread.run(-->)THREAD3【12sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD1【9sxf】  时间: 19:39:06 128
MyThread.run(-->)THREAD3【14sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD1【15sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD3【16sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD2【13sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD0【11sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD3【18sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD2【19sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD0【20sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD3【21sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD2【22sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD1【17sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD3【24sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD0【23sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD2【25sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD1【26sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD2【29sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD0【28sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD3【27sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD1【30sxf】  时间: 19:39:06 129
MyThread.run(-->)THREAD2【31sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD0【32sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD3【33sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD1【34sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD2【35sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD0【36sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD3【37sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD1【38sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD2【39sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD0【40sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD3【41sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD1【42sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD2【43sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD0【44sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD3【45sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD1【46sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD2【47sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD0【48sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD3【49sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD1【50sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD2【51sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD0【52sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD3【53sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD1【54sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD2【55sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD0【56sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD3【57sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD1【58sxf】  时间: 19:39:06 130
MyThread.run(-->)THREAD3【61sxf】  时间: 19:39:06 131
MyThread.run(-->)THREAD2【59sxf】  时间: 19:39:06 131
MyThread.run(-->)THREAD0【60sxf】  时间: 19:39:06 131
MyThread.run(-->)THREAD1【62sxf】  时间: 19:39:06 131
MyThread.run(-->)THREAD3【63sxf】  时间: 19:39:06 131
MyThread.run(-->)THREAD0【65sxf】  时间: 19:39:06 131
MyThread.run(-->)THREAD1【66sxf】  时间: 19:39:06 131
MyThread.run(-->)THREAD3【67sxf】  时间: 19:39:06 131
MyThread.run(-->)THREAD0【68sxf】  时间: 19:39:06 131
MyThread.run(-->)THREAD1【69sxf】  时间: 19:39:06 131
MyThread.run(-->)THREAD3【70sxf】  时间: 19:39:06 131
MyThread.run(-->)THREAD2【64sxf】  时间: 19:39:06 131
MyThread.run(-->)THREAD0【71sxf】  时间: 19:39:06 131
MyThread.run(-->)THREAD2【74sxf】  时间: 19:39:06 132
MyThread.run(-->)THREAD3【73sxf】  时间: 19:39:06 131
MyThread.run(-->)THREAD0【75sxf】  时间: 19:39:06 132
MyThread.run(-->)THREAD2【76sxf】  时间: 19:39:06 132
MyThread.run(-->)THREAD0【78sxf】  时间: 19:39:06 132
MyThread.run(-->)THREAD2【79sxf】  时间: 19:39:06 132
MyThread.run(-->)THREAD0【80sxf】  时间: 19:39:06 132
MyThread.run(-->)THREAD2【81sxf】  时间: 19:39:06 132
MyThread.run(-->)THREAD0【82sxf】  时间: 19:39:06 132
MyThread.run(-->)THREAD2【83sxf】  时间: 19:39:06 132
MyThread.run(-->)THREAD0【84sxf】  时间: 19:39:06 132
MyThread.run(-->)THREAD2【85sxf】  时间: 19:39:06 132
MyThread.run(-->)THREAD0【86sxf】  时间: 19:39:06 132
MyThread.run(-->)THREAD2【87sxf】  时间: 19:39:06 132
MyThread.run(-->)THREAD0【88sxf】  时间: 19:39:06 132
MyThread.run(-->)THREAD2【89sxf】  时间: 19:39:06 132
MyThread.run(-->)THREAD0【90sxf】  时间: 19:39:06 132
MyThread.run(-->)THREAD2【91sxf】  时间: 19:39:06 132
MyThread.run(-->)THREAD1【72sxf】  时间: 19:39:06 131
MyThread.run(-->)THREAD0【92sxf】  时间: 19:39:06 133
MyThread.run(-->)THREAD3【77sxf】  时间: 19:39:06 132
MyThread.run(-->)THREAD2【93sxf】  时间: 19:39:06 133
MyThread.run(-->)THREAD0【95sxf】  时间: 19:39:06 133
MyThread.run(-->)THREAD1【94sxf】  时间: 19:39:06 133
MyThread.run(-->)THREAD3【96sxf】  时间: 19:39:06 133
MyThread.run(-->)THREAD0【98sxf】  时间: 19:39:06 133
MyThread.run(-->)THREAD2【97sxf】  时间: 19:39:06 133
MyThread.run(-->)THREAD3notfyAll()
MyThread.run(-->)THREAD2notfyAll()
MyThread.run(-->)THREAD0notfyAll()
MyThread.run(-->)THREAD1【99sxf】  时间: 19:39:06 133
MyThread.run(-->)THREAD1notfyAll()
Test.main(完成时间:)19:39:06 133


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: