线程问题
有10个txt文件,每个文件都需要1秒钟更新一次
多线程并发访问数据库,并生成txt文件,线程都是1秒钟执行一次,执行方法如下:
线程1------->访问数据库表1------->生成1.txt文件,如果文件存在,则重写
线程2------->访问数据库表2------->生成2.txt文件,如果文件存在,则重写
... ...
线程9------->访问数据库表9------->生成9.txt文件,如果文件存在,则重写
线程10------->访问数据库表10------->生成10.txt文件,如果文件存在,则重写
单线程,依次访问数据库,并生成txt文件,线程也是1秒钟执行一次,执行方法如下:
线程------->访问数据库表1------->生成1.txt文件,如果文件存在,则重写
------->访问数据库表1------->生成1.txt文件,如果文件存在,则重写
------->访问数据库表2------->生成2.txt文件,如果文件存在,则重写
... ...
------->访问数据库表10------->生成10.txt文件,如果文件存在,则重写
现在的问题是:
如果采用多线程的话,就会出现多个文件长时间没有被重写(即更新);并且多线程并发访问数据库,会导致程序性能降低。
如果采用单线程的话,文件虽然都能更新到,但达不到即时更新(也就是1秒更新一次)的效果。
请教各位达达,遇到这种情况该如何做才能更优?
多线程并发访问数据库,并生成txt文件,线程都是1秒钟执行一次,执行方法如下:
线程1------->访问数据库表1------->生成1.txt文件,如果文件存在,则重写
线程2------->访问数据库表2------->生成2.txt文件,如果文件存在,则重写
... ...
线程9------->访问数据库表9------->生成9.txt文件,如果文件存在,则重写
线程10------->访问数据库表10------->生成10.txt文件,如果文件存在,则重写
单线程,依次访问数据库,并生成txt文件,线程也是1秒钟执行一次,执行方法如下:
线程------->访问数据库表1------->生成1.txt文件,如果文件存在,则重写
------->访问数据库表1------->生成1.txt文件,如果文件存在,则重写
------->访问数据库表2------->生成2.txt文件,如果文件存在,则重写
... ...
------->访问数据库表10------->生成10.txt文件,如果文件存在,则重写
现在的问题是:
如果采用多线程的话,就会出现多个文件长时间没有被重写(即更新);并且多线程并发访问数据库,会导致程序性能降低。
如果采用单线程的话,文件虽然都能更新到,但达不到即时更新(也就是1秒更新一次)的效果。
请教各位达达,遇到这种情况该如何做才能更优?
...全文
相关推荐
进程和线程的常见面试问题
一.进程和线程的区别 总结:线程是进程的一部分 二.进程的特点 三.线程的五种状态 图解:要清楚的了解线程状态之间的调度运行关系 状态之间有对应的调度方法 四.线程的实现方式 建议使用实现接口的方式创建多线程 why? 因为实现Runnable接口的方式,更加的符合面向对象,线程分为两部分,一部分线程对象,一部分线程任务 1.继承Thread类:线程对象和线程任务耦合在一起。一旦创建Thread类的子类对象,既是线程对象,有又有线程任务。 2.实现runnable接口:将线程任务单独分离出来封装成对象,类型就是Runnable接口类型。 总结:Runnable接口对线程对象和线
C#线程安全和跨线程问题
解决利用timer循环扫描导致的控件跨界问题,以及控件被多线程占用问题,本人资源全部免费,有需要的朋友直接下载吧
各种线程问题
各种线程问题各种线程问题各种线程问题各种线程问题各种线程问题
线程经典问题代码
解决经典的生产者,消费者多线程问题。线程经典问题代码
Java线程池及观察者模式解决多线程意外死亡重启问题
Java线程池及观察者模式解决多线程意外死亡重启问题,附件含两个要运行代码!


