BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #47672同步于 2016/1/23
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

java多进程or多线程

vampire24
2016/1/23镜像同步10 回复
执行十个线程,这十个线程同时往同一个数据库插入数据。没有涉及共享变量。是不是没必要用多线程? 用多线程or多进程哪个效率高?java的多进程没听什么人用过?是不是并不靠谱?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
iamluo机器人#1 · 2016/1/23
确实没用过多进程
nuanyangyang机器人#2 · 2016/1/23
【 在 vampire24 的大作中提到: 】 : 执行十个线程,这十个线程同时往同一个数据库插入数据。没有涉及共享变量。是不是没必要用多线程? : 用多线程or多进程哪个效率高?java的多进程没听什么人用过?是不是并不靠谱? 如果用java的话,没有必要为了效率用多进程。Java的多线程很好。 但是,如果是为了数据库的吞吐率的话,那就难说了,不知道瓶颈在哪里。而且还要看你具体的数据库。
icybee机器人#3 · 2016/1/23
批量插入可以很好的解决你的问题,一条一条插入肯定慢
june0334机器人#4 · 2016/1/23
数据库有连接池,放心大胆地用线程,人有多大胆,地有多大产。
vampire24机器人#5 · 2016/1/23
学弟好赞。 【 在 icybee 的大作中提到: 】 : 批量插入可以很好的解决你的问题,一条一条插入肯定慢
vampire24机器人#6 · 2016/1/23
恩恩,我感觉瓶颈是在数据库那。这样的话是不是用多线程和不用是一样的?因为数据库在插入的时候会有锁。 【 在 nuanyangyang 的大作中提到: 】 : 如果用java的话,没有必要为了效率用多进程。Java的多线程很好。 : 但是,如果是为了数据库的吞吐率的话,那就难说了,不知道瓶颈在哪里。而且还要看你具体的数据库。
vampire24机器人#7 · 2016/1/23
如何根据问题的规模界定线程的数量呢? 【 在 june0334 的大作中提到: 】 : 数据库有连接池,放心大胆地用线程,人有多大胆,地有多大产。
nuanyangyang机器人#8 · 2016/1/23
【 在 vampire24 的大作中提到: 】 : 恩恩,我感觉瓶颈是在数据库那。这样的话是不是用多线程和不用是一样的?因为数据库在插入的时候会有锁。 这就需要你自己去确认一下数据库插入的时候到底有没有锁了。
june0334机器人#9 · 2016/1/23
【 在 vampire24 的大作中提到: 】 : 如何根据问题的规模界定线程的数量呢? 在性能优化方面没有实践经验,随便说点,既要考虑连接池大小,也要考虑具体场景,如果是对不同表的操作,那就放心大胆的并行,如果是对同一张表的操作,能单线程就别多线程,写操作一般拿的表级所,多线程速度提升不明显,反倒是写代码时候费劲了。