小编app*_*ion的帖子

何时使用java.util.concurrent.Semaphore的acquire()和acquireUninterruptibly()方法?

我是Java并发/多线程的新手.有人可以向我解释在什么情况下,必须(或不得)使用acquire()和acquireUninterruptibly(),它们是如何不同的; 以及如何使用它们(代码示例?).

非常感谢你.

java concurrency multithreading

7
推荐指数
2
解决办法
2479
查看次数

在iOS中创建"流布局"类型布局的最佳/最简单方法是什么?

Q1.我有三个控件:UILabel,UIButton并且UILabel在一行中.我想以编程方式一个接一个地排列它们,没有任何间隙(类似于Java/Android"Flowlayout"布局),因为每个控件上的文本长度将因用户操作而改变.以编程方式实现"Flowlayout"布局的最佳/最简单方法是什么?

Q2.与上述相关,我希望每个控件在文本因用户操作而发生更改时自动调整大小,因此全文仍然可见.

提前致谢.

//编辑于11/12/2011

以下是我计划如何实现viewArray中包含的控件的水平"流布局":

-(void) doHorizontalFlowLayout:(NSArray *) viewArray
{
        if(viewArray == nil || viewArray.count <=1
            return; //get out of here, no need to continue

        UIView *v0= (UIView *) [viewArray objectAtIndex:0]; // first view
        CGRect frame0 = v0.frame;

        CGFloat sumWidth= 0;
        for(int i=1; i < viewArray.count; i++)
        {
            UIView *thisView= (UIView*) [viewArray objectAtIndex:i];
            sumWidth = sumWidth+ v0.frame.size.width;
            CGRect nextFrame= CGRectMake(frame0.origin.x
                    +sumWidth, thisView.frame.origin.y,
                     thisView.frame.size.width, thisView.frame.size.height);
            thisView.frame= nextFrame;
            //the above works for 2 views only. For …
Run Code Online (Sandbox Code Playgroud)

ios

6
推荐指数
1
解决办法
4536
查看次数

标签 统计

concurrency ×1

ios ×1

java ×1

multithreading ×1