由买买提看人间百态

topics

全部话题 - 话题: 多线程
首页 上页 1 2 3 4 5 6 7 8 9 10 (共10页)
N***m
发帖数: 4460
1
你的多线程概念很混乱阿,建议先看看wiki
r******r
发帖数: 700
2
谢谢。
ThreadLocal 相对于 synchronized, 好像用得比较少,需要研究。
为什么 JAVA EE 里面,不用怎么考虑多线程的问题?
另外, 我觉得 Java 程序员,应该有至少一半以上,是写 core java 程序的吧?
每一个具体应用,跟 EE 都关系不大。
c*m
发帖数: 836
3

JEE不过是个platform/framework/tools set,本质上跟spring,hibernate, struts没
啥不同,只不过SUN把这套东西合在一起又搞了个标准,而且前中后端都涵盖了,算是
个成套产品。
不管用啥,你日常编程不还是要用core java。就算有些东西比如多线程在JEE的时候大
多有container帮你完成,你自己还是得搞清楚,尤其是哪些是thread safe的,哪些不
是,不然这活没法干了。
r******r
发帖数: 700
4
听说过,要买这本好书,好好研读。
但是,弄懂这个 concurrency & synchronized 的概念关系问题,不需要钻研那本书。
再想了想,还是您混淆了概念!
看看 Oracle Java Tutorial 的网站,所有的多线程问题都在 Concurrency 这个主题
下面讲述,而且 synchronization 是其中的一个章节而已。
看看这里,
http://docs.oracle.com/javase/tutorial/essential/concurrency/sy
n******1
发帖数: 3756
5
来自主题: Java版 - 多线程真头疼,但也挺有趣
一直想学多线程,但是缺少任务驱动
可惜你的程序不能分享出来
r******r
发帖数: 700
6
来自主题: Java版 - 多线程真头疼,但也挺有趣
多线程就是一个机制,包括对一些数据结构的选择和利用,它本身并不增加很多代码。
比如,你可以练习一下我上面遇到的其中一个问题:
* Given an ArrayList to store 100000 integers from 1 ... 100000.In
a single threaded program, you will be able to easily output in the order of
the array list.
Now change it to a 10 thread program, how to achieve the same effect?
r******r
发帖数: 700
7
来自主题: Java版 - 多线程真头疼,但也挺有趣
刚 google 了一下,这个用的广泛吗?
我们公司 backend 代码中涉及到多线程的,都是直接使用 Java 本身提供的支持。
It's good to know this AKKA though.
z*******3
发帖数: 13709
8
来自主题: Java版 - 多线程真头疼,但也挺有趣
一旦会出现某一类型的任务不能在短时间内完成
就需要上多线程
楼主的这种系统应该考虑用hadoop
T*U
发帖数: 22634
9
来自主题: Java版 - 多线程真头疼,但也挺有趣
fortran并行语言都出来二十多年了,怎么java还在玩多线程
r******r
发帖数: 700
10
来自主题: Java版 - 多线程真头疼,但也挺有趣
我当时研究过 ArrayBlockingQueue,好像不适用。回头我再好好看看吧。
也觉得弄一个 synchronized 的 DataStore 不好,应该有现成的 class 可以利用。主
要要求就是能确保多线程下可以从一个结构里有序获得数据,而无需修改。
x****o
发帖数: 29677
11
来自主题: Java版 - 问个JAVA设计多线程cache问题
有一个类,传入KEY,处理从数据库返回一组对应KEY的数据,然后返回这组数据
现在多线程访问,用哪个数据结构来存储这组(KEY,OBJECT)数据,THREAD SAFE同时保证
这个数据结构里存储的是LRU,SIZE不会超标
w****n
发帖数: 127
12
来自主题: Java版 - 线程池问题
线程池比较大, corePoolSize 256, maximum 512.
发现concurrent request只有20几个的时候,系统自动生成了50~60个threads. 其中30
多个是pure idle thread. Is it normal or something wrong? 大牛帮忙指点一下。
p*****2
发帖数: 21240
13
来自主题: Java版 - 请教一个多线程的问题

听说现在很少会用java的多线程了,都是用actor,gochannel这些东西,最不济也还有
STM呢。
p*****2
发帖数: 21240
14

我觉得要先学习才能写有用的代码吧?也就是说要学习实用的技术,而不是Java多线程
现在很少用到的。
p*****3
发帖数: 488
15

还是有点用的,这两周尽整java多线程了,一个message queue 的polling,routing。
一个monitoring程序。
p*****3
发帖数: 488
16

新改写的小service.
java有哪些framework呢,感觉java的executionService那套就很好用了。其实java的
multithread已经感觉比c++,c的那些好用太多了。
特别复杂的比如condition variable那套东西如果有封装好的倒是蛮方便。不过大部分
情况感觉简单的多线程也犯不着用其他什么framework吧
b***i
发帖数: 3043
17
多线程很简单啊,不就是semaphore什么吗?
p*****2
发帖数: 21240
18

其实说多线程有点不是很确切,现在主要是concurrency, 这块趋势是event-driven和
async, Java支持的就不好了。
m******t
发帖数: 635
19
我C#写过一般规模的async + multithreading的service,Java没有相关经验,最近打
算把这个service用Clojure重写一遍,也在考虑相关的思路,打算尝试下Core.async,
多线程方面打算学prismatic,直接用java.util.concurrent或者简单包装下。
这个是Prismatic他们的一篇博客,讲他们用的技术:
http://blog.getprismatic.com/blog/2012/4/5/software-engineering
相关部分摘要:
While we make heavy use of the core of Clojure, we don't use its concurrency
primitives (atoms, refs, STM, etc.) because a function like pmap doesn't
have enough fine grained control for our needs. We opt instead to build our
own concurrency ... 阅读全帖
z****e
发帖数: 54598
20
一个双核cpu如果不多线程岂不是很浪费?
多core多cpu的server并不少见
z****e
发帖数: 54598
21
只要避开并发操作,都不难
实际上单线程和异步也是用来规避并发用的
b***i
发帖数: 3043
22
这不是多线程实现的基本注意事项之一吗。解决方案有按顺序锁的,还有如果可以锁就
锁,不能就不锁的方法,再不行就看log。多调试。锁啊锁就习惯了。
p*****2
发帖数: 21240
23

大牛,AKKA,STM跟多线程不矛盾
z****e
发帖数: 54598
24
哈,原来你说的是java的多线程
z****e
发帖数: 54598
25
是,但是还是比较麻烦,自己实现多线程往往会有这种问题
T*********g
发帖数: 496
26
呵呵 他是不太行。 我转的目的是为了回答楼主的问题。多线程在工作中还是需要的。
p*****2
发帖数: 21240
27

可是我说的是Java多线程呀。
b****u
发帖数: 1130
28
来自主题: Java版 - database 的线程安全操作
是个面试题。问一个账号,两个线程,一个+50 dollar, 一个加100 dollar.
如何保证在数据库上的结果是正确的。
我理解是用CAS的概念去解决这个问题。但对方要我写相关的SQL 语句, 并且详细解释
low-level级的操作。(e.g. Update BankAccount set balance=150 where...)
这应该是一个常见的问题。我对数据库的transaction了解很少。想请教大家,最好给
一点相关链接。
Y**G
发帖数: 1089
29
2里面,阻塞的是当前线程,后面四个AddTask根本没加进去。
D***0
发帖数: 138
30
来自主题: Java版 - java多线程问题请教
操作比较简单,就是有个cache,当cache miss时从数据库取值,同时更新cache。这里
的key是由两部分组成的,一个int和一个interface,函数输入是这两个。问题是在多
线程下如何synchronize。 我想是用concurrentHashMap当cache
Type是一个interface
一开始想用下面这个Key来做map的key,但是后来觉得不对,这也是想请教的一个地方
class Key {
public int a;
public Type t;
public Key(int a, Type t){...}
public int hashCode() {...}
public boolean equals(Key k) {... }
}
List f(int a, Type t) {
//这里如何synchronize
//我想用a和t组成一个string,然后用string来当key,然后synchronize在这个
string上
StringBuilder sb = new StringBu... 阅读全帖
d****f
发帖数: 313
31
工作中牵涉到一个稍微复杂一点的线程同步问题,问题描述如下:
有两个thread:t1和t2
1、t1做N个时间步,t2做一个时间步(都是差分时间步),换句话说每个t2和N个t1同步
2、同步时,t1和t2要交换一下数据,t1先传1个链表tL1给t2,t2用这个tL1算两个链表
值(DataProcess),tL2a,tL2b,一个要回传给t1(tL2a,之后t1的N步都要用到这个tL2a
),另一个tL2b是t2下一步自己计算要用到的,这个过程是串行(原来并行的强制串行
).
3、交换完数据,t1和t2各自完成自己时间步计算,这个过程中t1做一个积分(N步),
t2解一个方程,无论哪个先完成,都需要等到双方都完成了,才能开始下一轮的计算(
也就是回到2),这个过程是并行的.
我贴了一个简单的框架,只是保证t1做一步,t2做一步,因为刚开始接触并行内容,所
以请各位大牛指点一下,这个每轮先串行后并行的过程如何实现,比如是不是需要两个
mutex,两个condition variable,等等,希望我已经描述清楚了, 谢谢!稍微有点提示也非常欢迎!
#include
#
d****f
发帖数: 313
32

只有锁同一个mutex,才有互斥的可能啊,锁了两个mutex就毫无意义了
一次的变量传递吧。
t1_ready=1表示t1的工作做完了,做完之后要用该标志量,解锁t2线程,如果不用标志量,
可能导致condion signal丢失的
l******9
发帖数: 579
33
如何确保多线程程序在 multicore server 上确实使用了 所有的 core
to do computing in parallel physically (not logically)
I have a multicore server, which has 24 CPU, each CPU has 6 cores.
It is Intel xzeon X5650 2.67GHz
cpu cores : 6 (support 6 threads)
cpu MHz : 1596.000
totally, I have 24 * 6 = 144 cores.
I designed a multithreaded C++ program with boost/thread.
How to make sure that my program is run by all 144 cores ?
Any help is really appreciated.
thanks
l*********o
发帖数: 3091
34
来自主题: Linux版 - 求教gdb下多线程调试问题
线程1中设break point 2?
f******e
发帖数: 106
35
来自主题: Programming版 - 拜托推荐多线程和socket的书
拿来准备interview,windows平台。
谢谢。
不晓得这种interview要求怎么answer。我的理解的话,线程无非是在thread里面先
lock再unlock,中间可能加点别的来wakeup云云。socket反正还不是往一个东西里面
write,另外一个read......
l*******9
发帖数: 177
36
来自主题: Programming版 - 多线程编程前景如何?
怎么定义主流,现在流派太多了看不出什么耕牛?

关键是需求,有多少东西值得多线程?需求多了,应用自然会更丰富。。
现在提供thread-safe的编程语言多了,为什么一定要C/C++ ?
c***c
发帖数: 21374
37
来自主题: Programming版 - 多线程编程前景如何?
主流,我想就是市面上绝大多数应用程序在设计和写代码的时候都默认
考虑到了多处理器多线程的情况。现在的形势显然不是的,wired上面就报到
过intel怎么向ms抱怨说ms的操作系统无法体现现在intel的技术进步
L*****e
发帖数: 169
38
来自主题: Programming版 - c++下如何实现多线程?
多线程在标准c++下有定义吗?
还是和具体的编译器实现有关,比如gcc和vc下实现不一样?
w***g
发帖数: 5958
39
来自主题: Programming版 - c++下如何实现多线程?
boost里有比较方便的多线程编程接口。
b*****d
发帖数: 23
40
比如 如何 防止死锁, 多线程之间的 同步,
process 的memeory layout,
process 和 thread 的关系 之类的问题。
哪里可以找到比较全的书啊。
看了本 modern operating system, 讲了一点 但是没有讲全。
而且似乎太低层了, 什么 Kernel mode, user mode, PSW 之类。
虽有用, 但是 还不够, 也用不上啊。。。
z*****m
发帖数: 119
41
多线程编程,推荐Doug Lea的 《Concurrent Programming in Java》
多进程的话,推荐《Advanced Programming in the UNIX Environment》.
b***y
发帖数: 2799
42
来自主题: Programming版 - [合集] 多线程程序的性能问题
☆─────────────────────────────────────☆
gandjmitbbs (Nothing) 于 (Wed Oct 22 13:37:01 2008) 提到:
如果多个线程竞争同一个文件读,引起性能急剧降低,可以从哪些方面入手改进?
另外top里的cpu status, user, nice, system, iowait里看到时间大部分消耗在nice
和iowait上了。这里的nice和system有什么区别?
☆─────────────────────────────────────☆
microbe (纵使相逢应不识) 于 (Wed Oct 22 14:00:33 2008) 提到:

nice
nice是nice<0的thread消耗的时间。system是kernel消耗的时间。
性能低的原因很简单,多个thread文件操作,seek时间增加,你的瓶颈在disk IO。你
多大的文件?
☆─────────────────────────────────────☆
gandjmitbbs (Nothing) 于 (We
h***i
发帖数: 1970
43
python的多线程比较土,有global interpreter lock,性能不好。
r****t
发帖数: 10904
44
他这种是 IO blocking, 用线程是明显有好处的。
c**y
发帖数: 2282
45
来自主题: Programming版 - Perl多线程的问题
下面这个简单的程序是我问题的简化版。我期待着多个线程可以共享这个变量$locker
,可是看起来似乎每人有一份独立的$locker,为何呢?
my $locker=0;
sub worker
{
my $id=shift;
$locker++;
print "#$id working :$locker\n";
sleep(int(rand(10)));
$locker--;
print "#$id exit :$locker\n";

}
for my $i (1..10)
{
$workers[$i] = threads->create('worker', "$i");
}
for my $i (1..10)
{
$workers[$i]->join();
}
print "over\n";
运行结果是:
#1 working :1
#2 working :1
#2 exit :0
#3 working :1
#4 working :1
#5
x****u
发帖数: 44466
46
来自主题: Programming版 - 请教一个c语言实现多线程的问题
应该用beginthreadex吧。
这个泄露不是一定存在的,如果你的C库动态链接或者线程内没有使用C函数,就不会有
泄露。但最好还是用beginthread吧。

t。
x****u
发帖数: 44466
47
来自主题: Programming版 - 请教一个c语言实现多线程的问题
这里的"应该"和"必须"是有微妙的差别的。
你该用beginthreadex,并且注意线程handle如果不释放是会占用系统资源的。
为了地球的安全和和平,我们最好不要随便违反msdn里面所说的原则,除非你非常清楚
自己在干什么。

()
首页 上页 1 2 3 4 5 6 7 8 9 10 (共10页)