House Passes Bonus Tax Bill

美国国会众议院通过法案,对接受政府大规模援助且年薪超25万美元的员工奖金征收90%的附加税,旨在限制华尔街机构的高额奖金发放。
Getty ImagesAIG华盛顿办公大楼外的抗议人群美国国会众议院周四通过立法,将严格限制今年华尔街机构的奖金。陷入困境的保险巨头美国国际集团(AIG)在获得了数十亿美元的纳税人资金后,向员工发放了巨额奖金,引起公众的普遍不满,两党议员也非常愤怒。众议院以328票赞成93票反对通过了这项法案。根据该法案规定,在从政府金融救助计划中获得50亿美元及以上资金的企业内,收入超过25万美元的员工将按90%的税率征收附加税。如果获得参议院通过并由总统签署成为法律,这项奖金税将追溯至2008年12月31日。据纽约州审计处的数据,去年华尔街公司在纽约市发放了超过184亿美元奖金。薪酬专家估计,可能将有数千名员工受到该法案的影响。花旗集团(Citigroup Inc.)摩根大通(J.P. Morgan Chase & Co.)富国银行(Wells Fargo & Co.)美国银行(Bank of America Corp.)高盛集团(Goldman Sachs Group Inc.)摩根士丹利(Morgan Stanley)(PNC Financial Services Group Inc.)和U.S. Bancorp这八家银行从政府的问题资产救助计划(TARP)中获得了50亿美元以上的资金。国会工作人员表示,对于个人来说,新税是在现有税收体系(既包括通常的收入所得税又包括替代最低税额)基础上附加的。所谓的替代最低税额意在保证富有的个人无法逃避联邦税。众议院的法案还将适用于陷入困境的抵押贷款巨头房利美(Fannie Mae)和房地美(Freddie Mac)。这两家公司从另一项计划中获得了联邦资金。国会工作人员说,如果汽车生产商获得政府注资,未来它们也可能会被包括进来。参议院最早将于下周提出一项类似的提案,税率没有众议院法案的高,但是将适用于更多的员工和公司。参议院法案由参议院财政委员会(Senate Finance Committee)中民主党和共和党领袖共同起草;根据法案,大部分奖金将征收70%的附加税,员工和企业各缴纳一半。两院的法案都规定,公司可能通过返还足够数额的政府救助资金而逃避奖金税。一些华尔街公司已经正式申请提前返还政府救助资金,而新税法使其他公司也纷纷开始考虑这个问题。不过监管机构对允许企业返还资金存有疑虑,原因之一是这样做可能会增加促进金融体系稳定的工作的复杂性。尽管解决华尔街奖金问题本周在华盛顿被看作增加政治得分的好机会,很多金融分析人士以及奥巴马政府的一些官员担心,事实可能证明匆促通过法案可能会是糟糕的政策,有可能破坏政府的金融救助计划。日前奥巴马总统发表了一份声明,助手们表示声明有意说得较为含糊。奥巴马在声明中说,众议院的投票公正地反映了很多人对奖金问题感到愤怒,不过并没有提到法案的实质。奥巴马晚些时候亮相《今夜脱口秀》(The Tonight Show with Jay Leno)时说,他理解人们的失望。他说,人人都很气愤,不过我认为,最好的办法是防范于未然,现在的问题是钱已经给出去了,人们忙着想方设法报复他们。不过私下里,奥巴马政府内部有人担心,目前围绕着联邦救助计划的愤怒的政治气氛会吓跑私营领域的参与者,而政府需要这些人来提振支撑金融体系。Greg Hitt and Aaron Lucchetti(更新完成)相关阅读美国会奖金税法案震撼华尔街 2009-03-19AIG部分员工将返还奖金 2009-03-19奥巴马:我将对AIG奖金事件承担责任 2009-03-19美国国会考虑征税收回AIG奖金 2009-03-18 本文涉及股票或公司document.write (truthmeter('2009年03月20日07:12', 'FNM'));Fannie Mae总部地点:美国上市地点:纽约证交所股票代码:FNMdocument.write (truthmeter('2009年03月20日07:12', 'AIG'));美国国际集团英文名称:American International Group Inc.总部地点:美国上市地点:纽约证交所股票代码:AIGdocument.write (truthmeter('2009年03月20日07:12', 'FRE'));Freddie Mac总部地点:美国上市地点:纽约证交所股票代码:FRE


The House passed legislation Thursday that would significantly curb Wall Street bonuses this year, as lawmakers from both parties echoed popular outrage over big payouts to employees of American International Group Inc. after the ailing insurance giant took billions of dollars in taxpayer money.The House measure was approved on a 328-93 vote and would impose a 90% surtax on employees who earn more than $250,000 at companies that have received at least $5 billion from the government's financial rescue program. The bonus tax, if approved by the Senate and signed into law, would be retroactive to Dec. 31, 2008.Wall Street firms last year paid more than $18.4 billion in bonuses in New York City, according to the New York state comptroller, and pay experts estimated that thousands of employees would likely be affected.Eight banks -- Citigroup Inc., J.P. Morgan Chase & Co., Wells Fargo & Co., Bank of America Corp., Goldman Sachs Group Inc., Morgan Stanley, PNC Financial Services Group Inc. and U.S. Bancorp -- have each received more than $5 billion from the government's Troubled Asset Relief Plan, known as TARP.For individuals, congressional aides stressed the new levy would be in addition to the existing tax system, both the regular income tax and the alternative minimum tax. The so-called AMT is designed to ensure wealthy individuals don't avoid federal tax liability. The House bill would also apply to the troubled mortgage giants Fannie Mae and Freddie Mac, which have received federal funds from a different program. Congressional aides said auto makers could be snared in the future if they receive government capital infusions.The Senate will take up a similar measure, as early as next week, that is less punitive but would tax a larger number of employees and firms. That bill, jointly crafted by Democratic and Republican leaders of the Senate Finance Committee, would impose a 70% surtax on most bonuses -- half paid by employees and half by firms.In both the House and Senate bills, companies could escape the tax by repaying enough government aid. Some Wall Street firms have formally applied to repay the government ahead of schedule, and the new tax is spurring talk among others. But regulators have been leery of allowing firms to repay, in part because it could complicate efforts to promote stability in the financial system.While the attacks on Wall Street bonuses were seen in Washington this week as good politics, many financial analysts -- and some Obama administration officials -- worried the rush to pass the measures may prove to be bad policy and undermine the government's financial rescue plans.President Barack Obama issued a statement that aides said was intentionally lukewarm. In it, he said the House vote 'rightly reflects the outrage that so many feel' over the bonuses, but it didn't mention the substance of the bill. In an appearance later on 'The Tonight Show with Jay Leno,' Mr. Obama said he understands the frustration. 'Everybody's angry,' he said. 'But I think that the best way to handle this is to make sure that you close the door before the horse gets out of the barn. And what happened here was the money's already gone out, and people are scrambling to try to find ways to get back at them.'But privately, there's concern within the Obama administration that the angry political atmosphere now surrounding the federal bailout program will scare away private participants the government needs to help bolster the financial system.Greg Hitt and Aaron Lucchetti
<think>嗯,用户的问题是关于Go语言中GetDashboardData函数在传递锁对象时按值传递导致的问题。首先,我需要理解Go中锁的正确使用方式。 Go的sync包中的Mutex或RWMutex类型不应该被复制,因为一旦复制,锁的状态也会被复制,这会导致多个锁实例,无法正确同步。按值传递锁会导致这种情况发生,所以应该使用指针传递。 用户提到的GetDashboardData函数可能将锁作为值参数接收,例如func (d Dashboard) GetDashboardData(),而Dashboard结构体中的锁字段可能没有用指针。这样在传递结构体时,锁会被复制,引发问题。 解决方法应该是将锁字段声明为指针类型,比如sync.Mutex改为*sync.Mutex,并在初始化时分配地址。或者在结构体定义中直接嵌入指针,确保复制结构体时不会复制锁本身。 另外,需要检查所有使用该结构体的地方,确保通过指针传递,避免无意中的复制。可能还需要使用go vet工具检测锁的复制问题,或者实现sync.Locker接口来防止复制。 用户可能遇到的症状包括死锁、数据竞争或不可预测的行为。必须确保锁的唯一性,避免值传递导致多个锁实例。 总结来说,关键点是将锁字段改为指针类型,并通过指针传递结构体,防止复制锁的状态。</think>在Go语言中,传递包含锁的结构体时按值传递会导致严重的并发安全问题。以下是具体分析和解决方案: ### 问题分析 当包含互斥锁的结构体按值传递时: 1. **锁状态被复制**:$sync.Mutex$ 或 $sync.RWMutex$ 的内部状态(如锁计数器)会被完整复制 2. **失去同步能力**:副本锁与原锁完全独立,无法保护共享资源 3. **不可预测行为**:可能引发数据竞争、死锁或panic[^1] ### 示例代码问题 ```go type Dashboard struct { mu sync.RWMutex // 错误:非指针类型锁 data map[string]int } // 按值接收者导致锁复制 func (d Dashboard) GetDashboardData() { d.mu.RLock() // 操作的是副本锁 defer d.mu.RUnlock() // ... } ``` ### 解决方案 #### 方法1:改用指针类型锁 ```go type Dashboard struct { mu *sync.RWMutex // 指针类型锁 data map[string]int } // 必须通过指针初始化 func NewDashboard() *Dashboard { return &Dashboard{ mu: &sync.RWMutex{}, data: make(map[string]int), } } ``` #### 方法2:使用指针接收者 ```go // 正确:使用指针接收者 func (d *Dashboard) GetDashboardData() { d.mu.RLock() defer d.mu.RUnlock() // ... } ``` #### 方法3:嵌入指针类型 ```go type Dashboard struct { *sync.RWMutex // 直接嵌入指针 data map[string]int } // 使用时必须初始化指针 d := &Dashboard{ RWMutex: &sync.RWMutex{}, data: make(map[string]int), } ``` ### 最佳实践 1. **静态检查**:使用go vet检测锁复制 ```bash go vet -copylocks main.go ``` 2. **接口约束**:实现$sync.Locker$接口时使用指针接收者 ```go func (d *Dashboard) Lock() { d.mu.Lock() } ``` 3. **防御性编程**:通过go:nocopy标记禁止复制 ```go type Dashboard struct { mu sync.RWMutex data map[string]int _ go:nocopy } ``` ### 性能影响 当改为指针传递后: - 结构体大小减少$8$字节($64$位系统指针大小) - 函数调用时传递指针而非整个结构体副本 - 内存分配次数可能增加,但Go的逃逸分析会优化栈分配[^2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值